【问题标题】:How can I loop through a directory and get wc of every txt file?如何遍历目录并获取每个 txt 文件的 wc?
【发布时间】:2017-02-07 03:57:02
【问题描述】:

外壳是 sh。

我一直在使用 for 循环:

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

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

【问题讨论】:

  • man wc 是你的朋友。
  • 使用echo 是多余的;只需使用wc -w "$F"

标签: linux bash shell sh


【解决方案1】:

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

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

wc -w <filename

另外,如果不使用for 遍历文件,您可以使用 globbing 一次获取文件名,wc 需要多个参数,所以不会有问题:

wc -w *.txt

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

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

这应该比您已经使用的fora 方法更快。

【讨论】:

  • 是的,这有帮助。谢谢
猜你喜欢
  • 1970-01-01
  • 2017-08-15
  • 1970-01-01
  • 1970-01-01
  • 2013-09-22
  • 1970-01-01
  • 2011-12-29
  • 2015-12-30
  • 1970-01-01
相关资源
最近更新 更多