递归删除所有 .svn 目录

发布于 2024-12-01 18:49:41 字数 170 浏览 1 评论 0原文

我找到了这个解决方案:

find -type d -name .svn|xargs rm -rf

但我在 mingw 环境中(无论如何它都足够让我处理它)所以我没有 <代码>查找命令。不过,我确实使用了 ls -aR 等。有什么建议吗?

I found this solution:

find -type d -name .svn|xargs rm -rf

but I am on mingw environment (its bashy enough for me to deal with it anyhow) so I do not have the find command. I do however have use of ls -aR and such. Any tips?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

梦里°也失望 2024-12-08 18:49:41

您可能需要安装 MSYS,并安装它提供的 findutils。

You might want to install MSYS, and install the findutils that it provides.

笑饮青盏花 2024-12-08 18:49:41

find.exe 是 Msys(git) 的一部分。 xargs.exe 也是如此(不确定是否与 Mingw 一起使用)

或者,尝试 Powershell(毕竟你在 Windows 上):

gci c:\path\to\workingcopy -include .svn -Recurse -Force | rm -Recurse -Force

find.exe is part of Msys(git). So is xargs.exe (not sure if it was with Mingw)

Alternatively, try Powershell ( you are on Windows afterall):

gci c:\path\to\workingcopy -include .svn -Recurse -Force | rm -Recurse -Force
七七 2024-12-08 18:49:41

我最终使用的一半解决方案:

ls -aR | egrep ".*.svn:" | sed s/.$// | xargs rm -rf

我会注意到它无法处理其中有空格的一个目录,为了让Windows shell正确处理它需要有引号(不确定转义空格是否有效)。除此之外它确实工作得很好。

下次我应该使用更好的解决方案:

  1. svn export

  2. getting find to work

My half solution i ended up using:

ls -aR | egrep ".*.svn:" | sed s/.$// | xargs rm -rf

I will note that it failed to take care of one dir which had spaces in it, for the windows shell to handle that correctly it needed to have quotations (not sure if escaping the space works). Other than that it did work fine.

Better solutions that I should be using next time around:

  1. svn export

  2. getting find to work

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文