Find如何根據
如何根據 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
.