findstr:要搜索的文件没有换行符

时间:2019-06-17 03:27:34

标签: bash findstr

我有几个包含长行的文件。我想搜索每个文件并计算一个字符串的出现次数。
目前,Bash脚本是我唯一的选择。

每行

Findstr个搜索。鉴于每个文件中只有一行对我没有帮助。我已经在这个网站上做了一些搜索,并在Google上进行了搜索,但是找不到答案。

这是我尝试过的一个样本。

这实际上只是打印出每个完整文件:

findstr /C:Bob *.txt

我想看的是这个吗?

File1.txt 14

File2.txt 27

File3.txt 136

等...

1 个答案:

答案 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

将提供与上一条命令相同的输出