Win10 cygwin 查找:在 xargs 中替换斜杠并用引号括起来

Win10 cygwin 查找:在 xargs 中替换斜杠并用引号括起来

我在 Win10 上,使用 cygwin64(“cfind”是 cygwin 的“find”,我将其重命名以避免与 Win 自己的“find”混淆)。在 %root% 中,我想使用 cygwin 的“rm -r”删除所有名称与“.vs”匹配的文件夹(及其内容)。我有两个问题:1)“%root%”中的路径名称中包含 Win 的反斜杠和空格。如何将 xargs 传递给“rm -r”,以便将反斜杠更改为正斜杠,并将每个参数括在引号中?

cfind %root% -name '.vs' | xargs rm -r

答案1

Cygwin find 有自己的删除文件选项

cfind %root% -name '.vs' -delete

您还可以在此处找到一个适合您情况的示例 https://www.gnu.org/software/findutils/ 用于将文件名传递给其他程序xargs

find %root% -name '.vs' -print0 | xargs -0 rm  

但我认为您应该%root%在使用 cygwin 实用程序之前先使用 cygpath 进行转换。

相关内容