我想找到包含一些文字的文件但是应该以某个字符开头。
grep -inr "my text" .
上面的命令将显示包含上述文本的所有文件。但我想要的是如果文件包含文本,名称应该以E *开头。
答案 0 :(得分:4)
你可以使用它,
find . -name 'E*' -exec grep -Hl "sample" {} \;
<强>解释强>
-H
:打印每场比赛的文件名。
-l
:禁止正常输出
答案 1 :(得分:1)
您可以合并find
和grep
:
find . -name "E*" | xargs grep -nH "my text"
您还可以使用find
s exec
参数代替xargs
。看看它的man man:man find
答案 2 :(得分:0)
如果你想要1层的最大深度,那么我认为最有效的方法是......
grep <pattern> E*
您可以像这样使用多个级别
grep <pattern> */*/E*