UNIX 查找包含特定文件 (pom.xml) 的目录,然后在该目录中执行命令

4 unix script find

我想从根目录中找到包含某个文件名 (pom.xml) 的所有目录,然后 cd 到该目录并执行命令。我可以在脚本中做到这一点,但我希望用单行命令来做到这一点。

到目前为止我有

find . -type f -name 'pom.xml' |sed 's#\(.*\)/.*#\1#'
Run Code Online (Sandbox Code Playgroud)

这给出了我需要的目录......现在我需要进入每个目录并执行我的命令

小智 6

find 有 -exec 和 -execdir。对于 maven 构建,你会做

# executes `mvn clean install` in any directory where pom.xml was found
find . -name pom.xml -execdir mvn clean install \;
Run Code Online (Sandbox Code Playgroud)