统计文件的行数

统计文件的行数

http://www.nowcoder.com/questionTerminal/205ccba30b264ae697a78f425f276779

  • 方法(1)

wc -l 是用来查看文件的newline的数量的。

在linux系统中,newline字符就是 \n 字符。

$ wc  -l  ./nowcoder.txt
8 ./nowcoder.txt

输出中包含了文件名,因此再做一下处理:

$ wc -l ./nowcoder.txt | awk '{print $1}'
  • 方法(2)
#!/bin/bash
awk '{print NR}' ./nowcoder.txt |tail -n1

awk 可以打印所有行的行号

$ awk '{print NR}' ./nowcoder.txt 
1
2
3
4
5
6
7
8
9

该输出的最后一行就是文件的行数,结合 tail 就可以获取到文件的行数

$ awk '{print NR}' ./nowcoder.txt |tail -n 1
9
  • 方法(3)

awk 本身就可以只打印最后一行,因此一个 awk 脚本也可以搞定

$ awk 'END{print NR}' ./nowcoder.txt 
  • 方法(4)

使用 grep 搜索 "",然后利用 grep 自带的功能统计行

$ grep -c "" ./nowcoder.txt  
## 或者
$ grep -n "" ./nowcoder.txt  | awk -F ":" '{print $1 }' | tail -n 1
  • 方法(5)

sed 统计行

$ sed -n '$=' ./nowcoder.txt 
全部评论
cat ./nowcoder.txt | wc -l
2 回复
分享
发布于 2020-12-14 17:22
有大佬解释一下方法(5)中 '$='的含义是什么吗?
2 回复
分享
发布于 2021-05-13 21:21
滴滴
校招火热招聘中
官网直投
wc -l ./nowcoder.txt | cut -d ' ' -f 1
1 回复
分享
发布于 2021-07-19 10:23
cat nowcoder.txt |wc -l
3 回复
分享
发布于 2021-07-05 11:51
牛逼了。。。
点赞 回复
分享
发布于 2021-05-23 20:06
为什么第一种方法输出8,其他均为9方法?
点赞 回复
分享
发布于 2023-06-14 15:15 江苏

相关推荐

135 16 评论
分享
牛客网
牛客企业服务