如果資料夾中有另一個具有相同起始編號的資料夾,請刪除該資料夾

如果資料夾中有另一個具有相同起始編號的資料夾,請刪除該資料夾

我有一些錯誤創建的資料夾。我想刪除這些資料夾。

¬ 636
¬ 636.empty
¬ 637
¬ 638.empty
¬ 639
¬ 639.empty

在這種情況下,我想刪除636.empty並保留剩餘的空白資料夾。

運行終端命令後,我希望sister刪除資料夾中的所有資料夾。

¬ 636
¬ 637
¬ 638.empty
¬ 639

刪除的資料夾將是:

¬ 636.empty
¬ 639.empty

我有一些25,000資料夾,其中可能與該資料1000 夾重複empty

答案1

循環遍歷所有指定的目錄*empty並檢查是否存在相同的目錄,如果.empty存在則刪除:

for d in *.empty; do
    [ -d "$d" ] && [ -d "${d%.empty}" ] && rmdir "$d"
done

如果目錄不為空(儘管有其名稱),則替換rmdir為;-)rm -rf


另一種find選擇:

find -maxdepth 1 -type d -name '*.empty' \
  -exec sh -c '[ -d "${1%.empty}" ]' find-sh {} \; \
  -delete

如果目錄不為空,則替換-delete為。-exec rm -rf {} \;

相關內容