我仍在学习bash shell。
我想递归地查找和删除给定文件夹的子目录内的svn文件。我犯了检出错误而不只是克隆的错误,所以我试图清理我的混乱情况。
我已经尝试过了,但是我只能得到找到的所有文件的输出:
rm | find -name ".svn"
运行此命令时,没有任何输出,文件仍然存在: find . -executable -o ! -regex '.*\.svn' -exec rm -i {} \+
较简单的方法是导出所需的修订版本,而不是将其签出。尝试svn help export
使用bash shell。
如果您真的想使用它find
来遍历并删除所有被调用的子目录.svn
,则可以执行以下操作:
find /path/to/search -type d -iname .svn -print0 | xargs -0 rm
编辑
-type d
#仅查找目录-iname .svn
#不区分大小写的匹配,可能没有必要-print0
#打印完整的文件名,后跟一个空字符而不是换行符。它允许将带有空格或其他空格的文件名正确传递给xargs -0
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句