gpt4 book ai didi

bash - 计算 grep 结果

转载 作者:行者123 更新时间:2023-11-29 09:04:02 24 4
gpt4 key购买 nike

我是 bash 的新手,所以我在做一些非常基本的事情时遇到了麻烦。 通过使用各种脚本,我发现以下脚本会打印包含“word”的行

for file in*; do
cat $file | grep "word"
done

执行以下操作:

for file in*; do
cat $file | grep "word" | wc -l
done

在每次迭代中打印“单词”在文件中出现了多少次的结果。

  • 我如何为所有这些出现和在结束只是 echo 计数器?

我以这种方式使用了一个计数器,但它显示为 0。

 let x+=cat $filename | grep "word"

最佳答案

您可以将整个循环通过管道传输到 wc -l

for file in *; do
cat $file | grep "word"
done | wc -l

这是一个 useless use of cat .怎么样:

for file in *; do
grep "word" "$file"
done | wc -l

实际上,如果您一次将所有文件名传递给 grep,则整个循环是不必要的。

grep "word" * | wc -l

请注意,如果 word 在同一行中出现多次,这些解决方案只会计算整行一次。如果你想单独计算同一行的出现次数,你可以使用 -o 在单独的行上打印每个匹配项:

grep -o "word" * | wc -l

关于bash - 计算 grep 结果,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50089770/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com