wc -l file.txt

输出行数和文件名。

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

我可以这样做

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

但也许有更好的办法?


当前回答

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

wc -l < file.txt | bc

其他回答

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

命令如下:

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

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

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

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

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

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

wc -l < file.txt | bc

如何

grep -ch "^" file.txt

如何

wc -l file.txt | cut -d' ' -f1

例如,将wc的输出输送到cut(分隔符是空格,只选择第一个字段)