我想为执行的命令的每个结果调用一个命令。特别是,我想为hg diff <filename>
返回的每个结果调用hg status
。是否可以使用单个bash
命令?
例如,hg status
返回:
M project/pom.xml
M project/api/pom.xml
我想为hg diff
和project/pom.xml
执行project/api/pom.xml
。我怎么能这样做?
答案 0 :(得分:4)
如果要查看所有已修改的文件,可以不带参数运行hg diff
。
更一般地说,你可以使用像
这样的东西hg status -mn0 | xargs -0 hg diff
这里hg status -mn0
打印由空字节分隔的修改文件的文件名,这是一个比换行符更好的分隔符,因为文件名可以包含换行符,并通过xargs -0 hg diff
管理整个事件。它的输入为空字节,并为每个标记调用hg diff
。这可以用于各种命令,而不仅仅是hg diff
。