空のフォルダを削除 - 再帰的に

空のフォルダを削除 - 再帰的に

いくつかのフォルダを整理したいです。だから、空のフォルダをすべて削除したり、他のフォルダだけを削除したいのですが...

まず試しました

find . -type d -delete

ただし、これを行うと親フォルダの後にサブフォルダが一覧表示されるため、これを複数回実行する必要があります。

だから戦術とパイプを使ってみました。

find . -type d | tac | xargs rmdir

空白などで失敗するため、マスクが必要です。今詰まっています...

答え1

find . -type d -depth -exec rmdir {} +

最近の半分のfind(1)が動作している場合は、execplusが1989年に追加されたことに注意してください。

-depthfirstに指定されていない場合は、警告する非標準の照会実装がある可能性があるというヒントがありますprimary

関連情報