この質問に基づき、
結果の最初のフォルダだけを削除してみました。
find * -type d | head -n1 | -exec rm -rf {} \;
ただし、次のエラーが発生します。
bash: -exec: command not found
何が問題なの?
ベストアンサー1
-quit
以下と組み合わせて-delete
または後で使用できます-exec
。
-辞任する
すぐに終了します。子プロセスは引き続き実行されませんが、コマンドラインで指定されたパスは処理されなくなりました。
コマンドの最初の結果を削除しますfind
。
find * -type d -exec rm -Rf {} \; -quit
または
find . ! -path . -type d -exec rm -Rf {} \; -quit
後者は隠されたフォルダを探します。
検索出力は次のとおりです。アルファベット順に並べ替えられない。
ソート後の最初の結果を削除するには:
find * -maxdepth 1 -type d -print0 | sort -z | head -zn1 | xargs -r0 rm -Rf
数値の並べ替えにはを使用しますsort -zn
。