在使用 hg 时,我有时会使用以下命令删除更改的文件。
hg status -n | xargs rm
我遇到了一个问题,如果输出
hg status -n
将找不到文件中包含空格的任何文件路径。通常我会在文件名中引用或转义空格,但我不确定如何使用管道输出来做到这一点。任何帮助都会非常感谢:)
最佳答案
告诉两个命令使用 NUL 作为分隔符:
hg status -n0 | xargs -0 rm
还要小心:
-n
选项甚至会打印 Mercurial 不知道的文件。也许你想要这个?
hg status -mn0 | xargs -0 rm
另外,不要忘记
hg revert
或 hg purge
。也许他们做你想做的事,例如hg revert --all --no-backup
或者
.hgrc
[extensions]
hgext.purge=
shell
hg purge
关于bash - 在命令之间转义管道输出,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/9992672/