2013-06-04 22 views

回答

4

如何像:

find ./ -type f -name "*.orig" -exec rm "{}" \; 

似乎爲我工作,但它可能是一個好主意,與第一的echo代替rm測試;)

ls -R慣於5相當正確的格式輸出直接傳遞到RM(通過grep的),因爲它單獨列出文件每個目錄,如:

​​

如果はnted做用grep類似的東西,你就需要使用xargs這樣的:

grep ".orig$" | xargs rm 
+0

剛剛從'-iname'刪除'i',因爲這也符合「file.Orig」,「file.oRiG」等(我習慣了打字'-iname',因爲我通常要匹配在我搜索時沒有區分大小寫)。 –

+1

可能值得把{}設置爲「{}」來處理帶空格的文件名? – Seb

+0

Cheers @Seb。已經更新的答案:) –

1

不,他們不是。但這是xargs的目的:

ls -R | grep ".orig$" | xargs rm -i 

會做你想做的。 -i不是必需的,但是在第一次運行時使用它是個好主意。 (它會提示你刪除一個文件,如果你有信心,答案是肯定的始終,中止並沒有-i重新運行。)

+0

我不認爲這會遞歸的工作,在我的答案中描述的原因-R' )。 –