我有一个按分支分隔的配置文件的 git 存储库,例如:
refs/heads/branch1, file - settings.properties
refs/heads/branch2, file - settings.properties
等等
我正在尝试 grep 每个settings.properties
存储库中每个文件的某些属性:
git for-each-ref refs/heads --shell --format=‘%(refname:short)’ | xargs -n1 git checkout | cat settings.properties | grep ‘host.name’
第一个命令给了我我的分支列表,第二个命令一个接一个地检查每个分支,我希望第三个命令 cat 文件和第四个命令 grep 某些属性。前 2 个命令工作得很好,但如果我运行整个东西,它只会为第一个分支 greps host.name。
我显然遗漏了有关管道的一些重要内容。我知道我可以将它编写为 shell 脚本并在循环中执行所有这些操作,但我想保留“管道”方法,因为我可能经常需要cat
不同的文件和grep
不同的属性并且不想处理传递脚本中的参数