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

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


当前回答

wc -l file.txt | cut -f3 -d" "

只返回行数

其他回答

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

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

Awk节省了生命时间(和行):

awk '{c++};END{print c}' < file

如果你想确保你没有计算空行,你可以这样做:

awk '{/^./ && c++};END{print c}' < file

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

Wc -l file_name

例如:wc -l file.txt

它会给出文件的总行数

获取最后一行使用tail -1 file_name

我知道这很老,但仍然是:数过滤后的行数

我的文件如下:

Number of files sent
Company 1 file: foo.pdf OK
Company 1 file: foo.csv OK
Company 1 file: foo.msg OK
Company 2 file: foo.pdf OK
Company 2 file: foo.csv OK
Company 2 file: foo.msg Error
Company 3 file: foo.pdf OK
Company 3 file: foo.csv OK
Company 3 file: foo.msg Error
Company 4 file: foo.pdf OK
Company 4 file: foo.csv OK
Company 4 file: foo.msg Error

如果我想知道发送了多少文件

grep "OK" <filename> | wc -l

OR

grep -c "OK" filename