如何遍历目录并获取每个txt文件的wc?

时间:2017-02-07 03:57:02

标签: linux bash shell sh

shell是sh。

我一直在使用for循环:

for F in *.txt
do
echo `wc -w $F`
done

这已经返回了单词数和文件名。我不明白为什么它一直返回文件的名称;它看起来应该只返回文件中的单词数。

1 个答案:

答案 0 :(得分:4)

这是wc的默认行为,它显示计数后的文件名。

如果您只想要计数,请通过STDIN传递文件名:

wc -w <filename

此外,如果不使用for迭代文件,您可以使用globbing立即获取文件名,wc需要多个参数,因此不会出现问题:

wc -w *.txt

在这种情况下,要删除文件名,请使用一些文本处理:

wc -w *.txt | awk '{print $1}'

这应该比你已经采用的for方法更快。