簡體   English   中英

shell find -delete - 如何避免刪除自身

[英]shell find -delete — how to avoid delete itself

root
  -- level-1-folder-1-dynamic
  -- level-1-folder-2-dynamic-maybe-empty
  -- level-1-folder-3-dynamic
     -- level-2-folder-dynamic-need-to-be-deleted
     -- level-2-folder-dynamic-need-to-be-deleted
        -- file-1
        -- file-2

我想使用find command刪除之前30分鍾創建的所有2級文件夾,但我找不到所有2級文件夾並將其刪除。
我現在可以做的是找到所有文件並刪除它們,但仍然保留level-2文件夾
find root -type -f -cmin +30 -delete
如果我使用find root -type -d -empty -delete ,它將刪除所有空文件夾,包括level-1和root本身。

如何刪除所有2級文件夾?
謝謝

要僅刪除級別為2或更深的空目錄,請使用-mindepth 2

find root -mindepth 2 -type d -empty -delete

刪除 之前30分鍾創建的 所有2級文件夾

ssam@udistro:~/so/36928504$ tree root

給我

root
|-- level1
|   |-- level2dir1
|   |-- level2dir2
|   |   `-- level2dir2file1
|   `-- level2file
`-- level1emptydir

我做了:

find root -mindepth 2 -type d 2>/dev/null -exec rm -fR {} \;

做的:

ssam@udistro:~/so/36928504$ tree root


給我 :

root
|-- level1
|   `-- level2file
`-- level1emptydir

這就是你想要的我猜...

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM