在使用 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/

10-15 03:32