Bash 递归搜索一行中包含多个相同图案的所有文件

Bash 递归搜索一行中包含多个相同图案的所有文件,bash,Bash,为没有遵循StackOverflow最佳实践道歉 我想要达到的是假设 file1.txt something blah blah something blah blah target_pattern blah blah target_pattern something blah blah something blah blah target_pattern blah blah something blah blah something blah blah target_pattern bla

为没有遵循StackOverflow最佳实践道歉

我想要达到的是假设

file1.txt

something blah blah
something blah blah target_pattern blah blah target_pattern
something blah blah
something blah blah target_pattern blah blah
something blah blah
something blah blah target_pattern blah blah target_pattern blah blah target_pattern
file2.txt

something blah blah
something blah blah target_pattern blah blah target_pattern
something blah blah
something blah blah target_pattern blah blah
something blah blah
something blah blah target_pattern blah blah target_pattern blah blah target_pattern
file3.txt

something blah blah
something blah blah target_pattern blah blah target_pattern
something blah blah
something blah blah target_pattern blah blah
something blah blah
something blah blah target_pattern blah blah target_pattern blah blah target_pattern
我希望输出为

file1.txt target_pattern blah blah target_pattern
file3.txt target_pattern blah blah target_pattern blah blah target_pattern
请注意file2.txt有目标_模式,但没有重复。 如果您知道如何计算每个grep搜索结果的“target_pattern”单词,这对我也很有用

例如字数:

file1.txt 2
file2.txt 1
file3.txt 3
到目前为止,我尝试的是:

> cat q.txt    
something blah blah    
something blah blah target_pattern blah blah target_pattern    
> cat w.txt
something blah blah
something blah blah target_pattern blah blah    
>cat e.txt    
something blah blah    
something blah blah target_pattern blah blah target_pattern    
> grep -r "target_pattern" ./*    
./e.txt:something blah blah target_pattern blah blah target_pattern    
./q.txt:something blah blah target_pattern blah blah target_pattern    
./w.txt:something blah blah target_pattern blah blah    
> grep -r "target_pattern" ./*|grep "target_pattern"    
./e.txt:something blah blah target_pattern blah blah target_pattern    
./q.txt:something blah blah target_pattern blah blah target_pattern    
./w.txt:something blah blah target_pattern blah blah    
> grep -r "target_pattern" ./*| wc -w    
20    
> grep -r "target_pattern" ./*| wc -l   
3

Grep为2倍目标_模式,中间有(.*):

grep -E "target_pattern.*target_pattern" targetpat.txt 
something blah blah target_pattern blah blah target_pattern
something blah blah target_pattern blah blah target_pattern blah blah target_pattern

阅读模式匹配/正则表达式了解更多信息。

请阅读。请特别填写完整的句子,并使用格式选项将文件的示例数据与文本的其余部分分开。原因很简单,你的问题很难理解。。。。同时展示你迄今为止所做的尝试。如果您知道
wc
可以解决您的问题,那么为什么不使用它呢?非常感谢您,也感谢您对模式匹配/正则表达式的建议。这真的会提高我的技能。