Linux 使用grep命令查找包含文本的文件以文件名charector开头
我想找到包含一些文本的文件,但应该以一些字符开头Linux 使用grep命令查找包含文本的文件以文件名charector开头,linux,unix,putty,Linux,Unix,Putty,我想找到包含一些文本的文件,但应该以一些字符开头 grep -inr "my text" . 上述命令将显示包含上述文本的所有文件。但是我想要的是,如果文件包含一个文本,并且名称应该以like E*开头,那么您可以将find和grep组合起来: find . -name "E*" | xargs grep -nH "my text" 您还可以使用findsexec参数代替xargs。查看一下它的管理人员:manfind您可以将find和grep组合起来: find . -name "E*"
grep -inr "my text" .
上述命令将显示包含上述文本的所有文件。但是我想要的是,如果文件包含一个文本,并且名称应该以like E*开头,那么您可以将
find
和grep
组合起来:
find . -name "E*" | xargs grep -nH "my text"
您还可以使用
find
sexec
参数代替xargs
。查看一下它的管理人员:manfind
您可以将find
和grep
组合起来:
find . -name "E*" | xargs grep -nH "my text"
您还可以使用find
sexec
参数代替xargs
。看看它的管理人员:manfind
你可以用这个
find . -name 'E*' -exec grep -Hl "sample" {} \;
说明:
-H
:打印每个匹配的文件名
-l
:抑制正常输出您可以使用
find . -name 'E*' -exec grep -Hl "sample" {} \;
说明:
-H
:打印每个匹配的文件名
-l
:抑制正常输出如果您想要一层的最大深度,那么我认为最有效的方法是
grep <pattern> E*
grep E*
对于多个级别,您可以这样使用
grep <pattern> */*/E*
grep*/*/E*
如果您想要一层的最大深度,那么我认为最有效的方法是
grep <pattern> E*
grep E*
对于多个级别,您可以这样使用
grep <pattern> */*/E*
grep*/*/E*
你是指以E
开头的文件名或以E
开头的行?文件名以'E'开头?你是指以E
开头的文件名或以E
开头的行?文件名以'E'开头这是一个非常不可靠的解决方案:1)解析ls
的输出他非常气馁。(事实上,该命令在我的计算机上失败得很惨。)2)这对带有空格的文件名不起作用。在我的计算机上有效很好……+据我所知,你不能用空格创建文件名。ls
s输出的格式取决于区域设置,这就是为什么它可以在一台机器上工作,而不能在另一台机器上工作的原因,这也是为什么它不是一个好主意。你不能用空格来创建文件名,这是荒谬的;这是可能的,甚至是非常普遍的。改变了它,为什么要用ls呢。。可以使用空格创建文件名。我才知道这件事。谢谢:)。上面的命令适用于它……这是一个非常不可靠的解决方案:1)解析ls
s输出是非常不受鼓励的。(事实上,该命令在我的计算机上失败得很惨。)2)这对带有空格的文件名不起作用。在我的计算机上有效很好……+据我所知,你不能用空格创建文件名。ls
s输出的格式取决于区域设置,这就是为什么它可以在一台机器上工作,而不能在另一台机器上工作的原因,这也是为什么它不是一个好主意。你不能用空格来创建文件名,这是荒谬的;这是可能的,甚至是非常普遍的。改变了它,为什么要用ls呢。。可以使用空格创建文件名。我才知道这件事。谢谢:)。上面的命令适用于它。。。。