Find

如何根據 find 輸出刪除目錄:僅第一個結果

  • July 5, 2021

基於這個問題,

如何根據find輸出刪除目錄?

我試圖只刪除結果的第一個文件夾:

find * -type d | head -n1 | -exec rm -rf {} \;

但我收到此錯誤:

bash: -exec: command not found

怎麼了?

您可以在使用or-quit後使用:-delete``-exec

-quit

立即退出。沒有子程序將繼續執行,但不會處理命令行上指定的更多路徑。


刪除find命令的第一個結果:

find * -type d -exec rm -Rf {} \; -quit

或者

find . ! -path . -type d -exec rm -Rf {} \; -quit

後者將找到隱藏文件夾。


請注意,您的 find 輸出可能未按字母順序排序

對於排序後刪除第一個結果:

find * -maxdepth 1 -type d -print0 | sort -z | head -zn1 | xargs -r0 rm -Rf

對於數字排序,使用sort -zn.

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