linux下按文件名和文件内容查找文件

2024-12-01 08:48:53
推荐回答(5个)
回答1:

在当前目录下,查找所有内容包含‘abc'的文件

find . -type f | xargs grep -l 'abc'

find . -type f -exec grep -l 'abc' {} \;

扩展资料:

linux查找文件命令find

根据部分文件名查找方法:

这个方法和在WINDOWS中查找已知的文件名方法是一样的。不过在Linux中根据部分文件名查找文件的方法要比在WINDOWS中的同类查找方法要强大得多。

例如我们知道某个文件包含有srm这3个字母,那么要找到系统中所有包含有这3个字母的文件是可以实现的,输入:

find /etc -name '*srm*' 

这个命令表明了Linux系统将在/etc整个目录中查找所有的包含有srm这3个字母的文件,比如 absrmyz, tibc.srm等等符合条件的文件都能显示出来。如果你还知道这个文件是由srm 这3个字母打头的,那么我们还可以省略最前面的星号,命令如下:

find/etc -name 'srm*' 

这是只有像srmyz 这样的文件才被查找出来,象absrmyz或者 absrm这样的文件都不符合要求,不被显示,这样查找文件的效率和可靠性就大大增强了。

回答2:

1首先按文件名 使用命令 find /etc -name “xxxx”
find是查询命令
/etc是所要查询的目录
-name表示以名字的方式查找
xxxx 是你要查找的文件名 如果要查某个后缀的文件 可以使用通配符如''*.xt'或'*.conf'
2然后是按文件内容 find /etc -name “xxxx” -exec grep 'AAAA' {} \; -print
前面是第一步的查询文件名 后面的AAAA是你要查询的内容 -print是为了显示出查找到匹配文件的路径

回答3:

在当前目录下,查找所有内容包含‘abc'的文件
find . -type f | xargs grep -l 'abc'
或find . -type f -exec grep -l 'abc' {} \;

回答4:

我只知道两个分开查,查文件名用find ,查内容用grep
find ./ "abc"
grep -R 'abc' ./

回答5:

grep -r 'abc' | find -name '*abc*'