如何在GNU / Linux上的目录树中搜索文件

时间:2012-10-23 07:56:32

标签: linux bash filesystems gnu

我有几个存储库,每个都有config.php文件,其中包含有关数据库的信息,如密码。我有使用该文件中的东西连接到数据库的脚本,需要在目录树中搜索,所以我可以在每个嵌套目录中调用它。

[ -e config.php ] && $(php -r 'require("config.php"); echo "mysql -u".$config["db_user"] . " -p".$config["db_pass"] . " " . $config["db_name"];')

使用Bash在目录树中搜索的最简单方法是什么?

2 个答案:

答案 0 :(得分:2)

这会从PWD的末尾删除一个目录,直到它变空。在链接存在的情况下可能需要注意。

S="${PWD}"
while [ -n "${S}" ]
do
    [ -e "config.php" ] && ls $S/
    S=${S%/*}
done

答案 1 :(得分:0)

'找到topdir / -type f -iname“config.php”'其中'topdir'是配置脚本所在的最高目录。根据您的要求,您可能希望使用

一次性处理'config.php'文件

'找到topdir / -type f -iname“config.php”-print0 | xargs -0 yourscript'

或一个接一个 '找到topdir / -type f -iname“config.php”-exec yourscript {} \;'