Find

遞歸刪除 SVN 文件

  • March 16, 2018

我還在學習 bash shell。

我想在給定文件夾的子目錄中遞歸查找和刪除 svn 文件。我犯了檢查而不是複製的錯誤,所以我試圖清理我的爛攤子。

我試過這個,但我只得到所有找到的文件的輸出:

rm | find -name ".svn"

當我執行它時,我沒有得到任何輸出並且文件仍然存在: find . -executable -o ! -regex '.*\.svn' -exec rm -i {} \+

更簡單的方法是導出您想要的修訂而不是檢查它。嘗試svn help exportbash shell。

如果您真的想使用find並刪除所有呼叫的子目錄,.svn您可以這樣做:

find /path/to/search -type d -iname .svn -print0 | xargs -0 rm

編輯

  • -type d#僅查找目錄
  • -iname .svn #不區分大小寫的匹配,可能沒有必要
  • -print0#列印完整的文件名,後跟一個空字元而不是換行符。它允許將帶有空格或其他空格的文件名正確傳遞給xargs -0

引用自:https://unix.stackexchange.com/questions/17378