6

如何在linux中获取文件的行数?

我只想要行数,而不是文件名。
我想在一个命令中完成它,而不需要 grep 或其他实用程序。

wc -l sample.txt   

输出

5 sample.txt

期望的输出

5
4

7 回答 7

16

试试这个

wc -l < sample.txt

wc如果它通过标准输入读取文件,则不会打印出文件名。通过<标准输入提供文件。

于 2013-08-16T05:25:36.307 回答
3

其他用于获取文件中没有文件名的行数的单个命令。

sed

$ sed -n '$=' filename

awk

$ awk 'END{print NR}' filename
于 2013-08-16T05:29:46.737 回答
2

如果您也想去掉空格,请使用sed.

wc -l < file | sed 's/ //g'
于 2013-08-16T05:28:27.900 回答
1

打印不带空格的行数的替代命令:

awk 'END{print NR}' sample.txt

或使用 grep:

grep -c '^' sample.txt
于 2013-08-16T05:30:34.510 回答
1

试试这个

cat sample.txt | wc -l
于 2013-08-16T05:33:36.207 回答
0

如果要将输出保存到变量中,请尝试以下操作:

VAR=$(wc -l < sample.txt); echo ${VAR}
于 2019-07-10T17:07:21.673 回答
0

你也可以

wc -l test.txt | cut -d" " -f1
于 2019-08-27T22:58:49.377 回答