刪除一組在不同位置包含多個“-”作為其名稱一部分的資料夾

刪除一組在不同位置包含多個“-”作為其名稱一部分的資料夾

如何刪除-名稱中包含多個名稱的多個資料夾?

例如:

e97bf913-5759-4fff-bdaf-2f931b53a432/
39f953c5-dab0-420e-a650-a50a30f48097/

答案1

圖案

*-*-*/

符合具有兩個或多個連字符的目錄。匹配*任何字串(零個或多個字元)。

如果您只想匹配不應以連字符開頭和結尾的目錄名稱(如您的範例所示),您可以使用

[!-]*-*-*[!-]/

反而。符合[!-]任何不是 ( !) 連字符的字元。

跑步

ls -d [!-]*-*-*[!-]/

首先看看這些是否是您要刪除的。然後運行

rm -r [!-]*-*-*[!-]/

遞歸刪除它們。如果您確實需要強制刪除,請新增-f至命令中。

答案2

rm -r *-*-*-*-*

警告:這將刪除與此方案相符的每個檔案。所以文件如下:

system-file-separated-by-minus 

也會刪除。

「*」部分代表下一個給定之前的所有內容(零個、一個或多個字元),在本例中以減號分隔。如果您知道文件的 - 前面有 8 個字符,下一個字符前面有 4 個字符,您可以說:

rm -r ????????-????-????-????-????????????

每一個 ?代表任何字元。這將刪除與您的方案相符的所有檔案。但具有相同方案的檔案也會被刪除,但您可能不想要,因此請先檢查這一點。

答案3

只需在父目錄中執行此命令即可

rm -r *-*-*/

相關內容