ENS*_*ENS 4 linux bash shell sh
外壳是sh。
我一直在使用 for 循环:
for F in *.txt
do
echo `wc -w $F`
done
Run Code Online (Sandbox Code Playgroud)
这已返回字数和文件名。我不明白为什么它不断返回文件名;看起来它应该只返回文件中的单词数。
hee*_*ayl 10
这是 的默认行为wc,它在计数后显示文件名。
如果您只想要计数,请通过 STDIN 传递文件名:
wc -w <filename
Run Code Online (Sandbox Code Playgroud)
另外,在不使用 迭代文件的情况下for,您可以只使用 globbing 一次获取文件名,wc采用多个参数,这样就不会出现问题:
wc -w *.txt
Run Code Online (Sandbox Code Playgroud)
在这种情况下,要删除文件名,请使用一些文本处理:
wc -w *.txt | awk '{print $1}'
Run Code Online (Sandbox Code Playgroud)
这应该比for您已经采用的方法更快。