在不同目录中执行命令

时间:2013-07-17 13:43:07

标签: maven unix

我有一个要求,我需要更改某些项目的pom版本,并将涉及以下步骤:

  1. 搜索pom具有特定版本的所有项目说“1”。
  2. 现在逐个导航到所有这些项目目录并执行maven命令逐个更新版本。
  3. 到目前为止,我已经能够使用以下命令获取所有项目的列表:

    find . -name "pom.xml" -print0 | xargs -0 grep -il '1' 
    

    现在我需要在上面找到的每个pom的目​​录中执行maven命令'mvn versions:update-parent'

    这可以在一个命令中完成吗?

    编辑:

    如果是,那该怎么办呢?

1 个答案:

答案 0 :(得分:1)

刚试过这个,似乎有效。在包含1.8.6的任何pom的目​​录中运行'mvn clean':

find . -name 'pom.xml' -print0 \
  | xargs -0 grep -l '1.8.6' \
  | xargs -I XX find . -path XX -execdir mvn clean \;