统计文件的行数

  • 方法(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