Command-Line

刪除指定路徑中沒有“編輯”字樣的所有文件夾?

  • August 21, 2021

我正在嘗試設置一個簡單的腳本來清理我的working folder. 的working folder結構是這樣的:

Project 1
Project 1 [edited]
Project 2
Project 2 [edited]
Project 3
Project 3 [edited]
...

所有項目文件夾僅包含文件。目標是擺脫working folder其中沒有名稱的所有文件夾[edited]

使用 GNU find,類似

find . -maxdepth 1 -mindepth 1  ! -name "*edit*"

應該匹配目前目錄中名稱中沒有“edit”的文件,並列印名稱。當然,您可以添加 eg-type d -iname "*project*"以僅匹配名稱中帶有“項目”的目錄。如果輸出看起來正確,您可以添加-deletefind刪除它們。

使用 Bash 並且shopt -s extglob實際上,您還可以使用

echo rm -r !(*edit*)/

尾部斜杠將使其僅匹配目錄並echo僅列印命令,而不是執行它。

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