我有这样的线,我想知道我有多少行。

09:16:39 AM  all    2.00    0.00    4.00    0.00    0.00    0.00    0.00    0.00   94.00
09:16:40 AM  all    5.00    0.00    0.00    4.00    0.00    0.00    0.00    0.00   91.00
09:16:41 AM  all    0.00    0.00    4.00    0.00    0.00    0.00    0.00    0.00   96.00
09:16:42 AM  all    3.00    0.00    1.00    0.00    0.00    0.00    0.00    0.00   96.00
09:16:43 AM  all    0.00    0.00    1.00    0.00    1.00    0.00    0.00    0.00   98.00
09:16:44 AM  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
09:16:45 AM  all    2.00    0.00    6.00    0.00    0.00    0.00    0.00    0.00   92.00

是否有一种方法可以使用linux命令来计算它们?


当前回答

像这样使用nl:

nl filename

来自man nl:

将每个FILE写入标准输出,并添加行号。与 没有FILE,或者当FILE为-时,读取标准输入。

其他回答

有很多方法。使用wc就是其中之一。

Wc -l文件

其他包括

awk ' end {print NR}'文件

sed -n '$='文件

grep -c ".*" file

如果你想检查一个目录中所有文件的行数,你可以使用find和wc:

find . -type f -exec wc -l {} +

计数所有行使用:

$ wc -l file

使用以下命令过滤和计数带有图案的行:

$ grep -w "pattern" -c file  

或者使用-v来逆匹配:

$ grep -w "pattern" -c -v file 

查看grep手册页,查看-e,-i和-x参数…

工具wc是UNIX和类UNIX操作系统中的“单词计数器”,但是您也可以通过添加-l选项来使用它来计数文件中的行数。

Wc -l foo将计算foo中的行数。您还可以像这样通过管道输出程序:ls -l | wc -l,它将告诉您当前目录中有多少文件(加一个)。

Wc -l <filename>

这将为您提供输出中的行数和文件名。

Eg.

WC -L 24-11-2019-04-33-01-url_creator.log

输出

63 24-11-2019-04-33-01-url_creator.log

Use

Wc -l <filename>|cut -d\ -f

来获取输出中的行数。

Eg.

url_create .log|cut -d\ -f

输出

63