chr*_*lee 6 subversion find rm
我还在学习 bash shell。
我想递归地查找和删除给定文件夹的子目录中的 svn 文件。我犯的错误是检查而不是克隆,所以我试图清理我的烂摊子。
我试过这个,但我只得到所有找到的文件的输出:
rm | find -name ".svn"
当我运行它时,我没有输出,文件仍然存在:
find . -executable -o ! -regex '.*\.svn' -exec rm -i {} \+
Sea*_* C. 12
更简单的方法是导出您想要的修订版,而不是将其检出。svn help export
在 bash shell 中尝试。
如果你真的想用来find
遍历和删除所有调用的子目录,.svn
你可以这样做:
find /path/to/search -type d -iname .svn -print0 | xargs -0 rm
编辑
-type d
#只查找目录-iname .svn
#case insensitive 匹配,可能没有必要-print0
#打印完整的文件名,后跟一个空字符而不是换行符。它允许将带有空格或其他空格的文件名正确传递给xargs -0