wc -l file.txt

输出行数和文件名。

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

我可以这样做

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

但也许有更好的办法?


当前回答

如何

grep -ch "^" file.txt

其他回答

cat file.txt | wc -l

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

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

不调用外部命令而去掉前导零的另一种方法是使用算术展开$((exp))

echo $(($(wc -l < file.txt)))

最好的方法是首先找到目录中的所有文件,然后使用AWK NR(记录数量变量)

命令如下:

find <directory path>  -type f | awk  'END{print NR}'

例如:- find /tmp/ -type f | awk 'END{print NR}'

如何

grep -ch "^" file.txt

如果不使用前导空格,为什么不这样做呢:

wc -l < file.txt | bc