管道 grep 输出到 xargs

Pipe grep output to xargs

我正在尝试为某些报告命令过滤 git ls-files 的输出,然后将该输出通过管道传输到 xargs。我最初在 git ls-files 上使用 -z,效果很好,但现在我正在使用 grep,我需要恢复该功能。

尝试 grep 版本 -Z 对实际输出没有任何影响。

git ls-files | grep -Z -e={\*.js,\*.html}

grep 的 -Z 选项似乎只适用于包含匹配内容的文件名,而不适用于匹配行的内容。这对我来说似乎很奇怪,但它似乎是这样工作的。

你实际上并不需要这里的 grep(你不需要原来的 * 或者它没有增加任何有价值的东西)。

git ls-files 采用模式来匹配文件名。

所以你想在这里使用这个命令。

git ls-files -z -- '*.js' '*.html'