我想要刪除文件夾及其子文件夾中除名爲「* Original.fal」的文件夾外的所有具有特定擴展名的文件 - 「.fal」。問題是,我想刪除具有相同擴展名的其他文件:bash在Linux上,刪除具有特定文件擴展名的文件
- * Original.fal.ds
- * Original.fal.ds.erg
- * Original.fal.ds.erg .neu
還有其他的「.fal」 S,我想刪除爲好,不要有‘原始’的他們。 名稱會隨時變化,所以我無法刪除特定的名稱。 * Original.fal不會有所不同。
我只能起牀到這裏:
$find /disk_2/people/z183464/DOE-Wellen -name "*.fal" \! -name "*Original.fal" -type f -exec echo rm {} \;
這將是巨大的,如果該命令只能在文件夾中刪除(和它的子文件夾),它被稱爲(執行)
當我運行的代碼它給我一個錯誤:
- /disk_2 /人/ z183464/DOE-Wellen:是一個目錄
http://content.hccfl.edu/pollock/Unix/FindCmd.htm – Dilawar
只需重命名您不想刪除的文件,然後執行一個簡單的rm,然後再重新命名該文件。 – Vicky
你的'find'解決方案應該可以正常工作。錯誤消息似乎只是因爲你在兩行中輸入了你的單行。這個'-type f'-stuff應該與上面的東西在同一行,然後它應該起作用。提示:使用'-exec echo rm {} \;'看看它會在沒有'echo'的情況下真正執行它之前做些什麼。 – Alfe