请问linux下如何递归查找某个目录的所有文件

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了请问linux下如何递归查找某个目录的所有文件相关的知识,希望对你有一定的参考价值。

用find。
比如,我在根目录"/"下查找一个名字为”a.c“的文件:
find
/
-type
f
-name
"a.c"
-type
f
---说明我查找的是一个常规文件。
参考技术A find
*
!
-
name
‘*.svn’|
xargs
grep
"string"
,更多关于find命令的联合使用,请参考书籍《linux就该这么学》。

linux查找目录下的所有文件中是否含有某个字符串

用grep遍历目标目录下的所有文件

 

比如:你的字符是 “some_code” ,文件夹名字是  YOUR_DIR

1 grep -R   "some_code"  YOUR_DIR

 

如果你不需要显示内容,只需要含有某个字符的文件: 

1 grep -lR   "some_code"  YOUR_DIR

 


附录: 

grep -R 和 -l 参数

  -R, -r, --recursive

递归地读每一目录下的所有文件。这样做和 -d recurse 选项等价。

 

  -l, --files-with-matches

禁止通常的输出;作为替代,打印出每个在通常情况下会产生输出的输入文件的名字。对每个文件的扫描在遇到第一个匹配的时候就会停止。

 

ps:

如果目录下有二进制文件,也可能匹配到。

以上是关于请问linux下如何递归查找某个目录的所有文件的主要内容,如果未能解决你的问题,请参考以下文章

linux——grep命令 查找目录下的所有文件中是否含有某个字符串

linux如何查找以某个字母打头的文件或文件夹 比如,/etc目录下很多文件,我想列出所有以c开头的文件或文件

查找某个目录下使用的所有文件扩展名(递归)

递归查找目录下所有指定文件(包括深层目录)

如何在Linux下查找文件内容包含某个特定字符串的文件

在文件夹下所有文件中查找字符串(linux/windows)