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

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命令来计算它们?


当前回答

我在寻找计算多个文件行数的方法时看到了这个问题, 如果你想计算一个。txt文件的行数,你可以这样做,

cat *.txt | wc -l

它也会在一个.txt文件上运行;)

其他回答

计数所有行使用:

$ wc -l file

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

$ grep -w "pattern" -c file  

或者使用-v来逆匹配:

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

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

我尝试wc -l从文件名中获取行数

要进行更多的过滤,例如想要从文件中计数注释行数,请使用grep '#' Filename.txt | wc -l

echo  "No of files in the file $FILENAME"
wc -l < $FILENAME
echo total number of commented lines
echo $FILENAME
grep '#' $FILENAME | wc -l

使用wc:

wc -l <filename>

这将输出<filename>中的行数:

$ wc -l /dir/file.txt
3272485 /dir/file.txt

或者,从结果中省略<filename>使用wc -l < <filename>:

$ wc -l < /dir/file.txt
3272485

你也可以将数据传输到wc:

$ cat /dir/file.txt | wc -l
3272485
$ curl yahoo.com --silent | wc -l
63

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

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

cat file.log | wc -l | grep -oE '\d+'

grep -oE '\d+':只返回数字。