パターンに一致するファイルを含むすべてのフォルダを削除する

パターンに一致するファイルを含むすべてのフォルダを削除する

rarファイルを含む現在の作業ディレクトリのすべてのサブディレクトリを削除しようとしています。

最初の試み:find -name *.rar -exec rm -r {}/.. ';'有効なディレクトリではないため失敗しました。もっと合理的なコマンドを試してみましたが、dirname {}意図しない内容をほとんど削除してから質問をすることにしました。

Windows 7でCygwinを使用しています。

ベストアンサー1

zshを使う:

rm -rf **/*.rar(:h)

サフィックス:hが適用されます歴史拡張修飾子 h("head")各一致のデフォルト名を削除し、ディレクトリ部分のみを残します。

このディレクトリが実際に削除したいディレクトリであることを確認してください!たとえば、まず一時ディレクトリに移動します。

mkdir DELETE
mv **/*.rar(:h) DELETE/
# check that you really want to delete everything in DELETE
rm -r DELETE

おすすめ記事