
いくつかのフォルダをクリーンアップしたいです。そのため、空のフォルダや他のフォルダのみを含むフォルダをすべて削除したいのですが...
まず試してみた
find . -type d -delete
しかし、これは親フォルダーの後にサブフォルダーをリストするため、複数回実行する必要があります。
そこでタックとパイプを使ってみました
find . -type d | tac | xargs rmdir
これは空白などで失敗するので、マスキングが必要です。今は行き詰まっています...
答え1
find . -type d -depth -exec rmdir {} +
比較的最近の find(1) があれば動作するはずです - execplus は 1989 年に追加されたことに注意してください ;-)
-depth
が最初の として指定されなかった場合に警告を発する非標準の find 実装が存在する可能性があるというヒントがあったことに注意してくださいprimary
。