Find
遞歸刪除 SVN 文件
我還在學習 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