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

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

いくつかのフォルダをクリーンアップしたいです。そのため、空のフォルダや他のフォルダのみを含むフォルダをすべて削除したいのですが...

まず試してみた

find . -type d -delete

しかし、これは親フォルダーの後にサブフォルダーをリストするため、複数回実行する必要があります。

そこでタックとパイプを使ってみました

find . -type d | tac | xargs rmdir

これは空白などで失敗するので、マスキングが必要です。今は行き詰まっています...

答え1

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

比較的最近の find(1) があれば動作するはずです - execplus は 1989 年に追加されたことに注意してください ;-)

-depthが最初の として指定されなかった場合に警告を発する非標準の find 実装が存在する可能性があるというヒントがあったことに注意してくださいprimary

関連情報