shell 是 sh。
我一直在使用 for 循环:
for F in *.txt
do
echo `wc -w $F`
done
这一直在返回单词数和文件名。我不明白为什么它一直返回文件名;看起来它应该只返回文件中的单词数。
最佳答案
这是wc
的默认行为,它在计数后显示文件名。
如果您只想要计数,请通过 STDIN 传递文件名:
wc -w <filename
此外,如果不使用 for
遍历文件,您可以只使用 globbing 一次获取文件名,wc
接受多个参数,因此不会有问题:
wc -w *.txt
在这种情况下,要删除文件名,请使用一些文本处理:
wc -w *.txt | awk '{print $1}'
这应该比for
您已有的方法更快。
关于linux - 如何遍历目录并获取每个 txt 文件的 wc?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42081453/