bash,根据其内容在子目录中查找文件

时间:2013-07-28 21:11:32

标签: bash

我有一个像这样的目录结构:

project1/config.ini
project2/config.ini
project3/config.ini 

等等。
我想找出包含特定字符串的config.ini文件,比如说“database = a”

5 个答案:

答案 0 :(得分:1)

您可以使用find命令以递归方式搜索所有文件以查找字符串。例如:

find . -type f -name config.ini -exec grep -l "database=a" {} +

答案 1 :(得分:0)

我会用grep:

cd your_folder && grep -r "database=a" *

答案 2 :(得分:0)

您可以使用grep

grep -r -l --include=config.ini database=a .

这样,-r中的.仅对名称为database=a的文件进行递归搜索(config.ini),并仅列出匹配的文件(-l )。

答案 3 :(得分:0)

另一个简短的变体:

grep 'database=a' ./**/config.ini
#                   ^^-recursively search for all `config.ini` files

警告:仅当您没有zilion配置文件时才有效 - 在其他情况下,您可能会收到Argument list too long错误..

如果您只想要文件名

grep -l 'database=a' ./**/config.ini

答案 4 :(得分:0)

最简单:

grep -ri“database = a”* / config.ini