我有几个包含长行的文件。我想搜索每个文件并计算一个字符串的出现次数。
目前,Bash脚本是我唯一的选择。
Findstr
个搜索。鉴于每个文件中只有一行对我没有帮助。我已经在这个网站上做了一些搜索,并在Google上进行了搜索,但是找不到答案。
这是我尝试过的一个样本。
这实际上只是打印出每个完整文件:
findstr /C:Bob *.txt
我想看的是这个吗?
File1.txt 14
File2.txt 27
File3.txt 136
等...
答案 0 :(得分:1)
类似这样的东西:
find * -printf 'echo "$(grep -o "hello" %p | wc -l) %p";' | sh
output:
3 newfile
2 somefile
如果上述方法无效,请选择
for var in `ls`;do echo $var; grep -o "hello" $var|wc -l;done
Output:
newfile
3
somefile
2
some.py
0
假设此答案的注释中不存在wc,则可以使用以下命令。
for var in `ls`;do echo $var;grep -o "hello" $var|grep -c "hello";done
将提供与上一条命令相同的输出