wc -l file.txt

输出行数和文件名。

我只需要数字本身(而不是文件名)。

我可以这样做

 wc -l file.txt | awk '{print $1}'

但也许有更好的办法?


当前回答

试试这个方法:

wc -l < file.txt

其他回答

cat file.txt | wc -l

根据手册页(对于BSD版本,我没有GNU版本来检查):

如果没有指定文件,则使用标准输入,不使用文件 的名字是 显示出来。提示符将接受输入,直到接收到EOF或[^D] in 大多数环境。

如何

grep -ch "^" file.txt

试试这个方法:

wc -l < file.txt

显然,这个问题有很多解决方案。 下面是另一个例子:

wc - l somefile | tr - d”[:α][空白:][punct:]”

这只输出行数,但是后面的换行符(\n)是存在的,如果你也不想要,用[:space:]替换[:blank:]。

这适用于我使用正常的wc -l和sed剥离任何不是数字的字符。

wc -l big_file.log | sed -E "s/([a-z\-\_\.]|[[:space:]]*)//g"

# 9249133