shell是sh。
我一直在使用for循环:
for F in *.txt
do
echo `wc -w $F`
done
这已经返回了单词数和文件名。我不明白为什么它一直返回文件的名称;它看起来应该只返回文件中的单词数。
答案 0 :(得分:4)
这是wc
的默认行为,它显示计数后的文件名。
如果您只想要计数,请通过STDIN传递文件名:
wc -w <filename
此外,如果不使用for
迭代文件,您可以使用globbing立即获取文件名,wc
需要多个参数,因此不会出现问题:
wc -w *.txt
在这种情况下,要删除文件名,请使用一些文本处理:
wc -w *.txt | awk '{print $1}'
这应该比你已经采用的for
方法更快。