bash:指定された文字列を含まないディレクトリを削除する

bash:指定された文字列を含まないディレクトリを削除する

bashを使用してwavまたはmp3というディレクトリを含まないディレクトリを削除するにはどうすればよいですか?私はmacOS Sierraを使用しています。

find . -type d \! -exec test -e '{}/wav' \; -printwavディレクトリを含まないディレクトリを探します。このコマンドにmp3をどのように含めることができますか?作成したディレクトリをどのように削除しますか?

私の音楽ライブラリは次の構造に従います。 /Musik/<Artist>/<format>/<Artist---Album>/<Track_Titel.wav>ここでフォーマットはwavまたはmp3です。たとえば、オーディオファイルはありませんが上書きされたディレクトリが多いため、オーディオファイルを含まないディレクトリを削除するために空のディレクトリを検索することはできません。

ベストアンサー1

まず、これを行う前に、ファイルをバックアップしてください。

真剣に。


ディレクトリ(またはファイル)タイトルwavまたはmp3(ケース鋭い)以下を試してください。

find /Musik -mindepth 1 -maxdepth 1 -exec test \! -e {}/wav \; -exec test \! -e {}/mp3 \; -print

あなたが持っていた後出力確認削除するディレクトリと一致します。(そしてバックアップをもう一度確認してください)次に、以下を実行する必要があります。

find /Musik -mindepth 1 -maxdepth 1 -exec test \! -e {}/wav \; -exec test \! -e {}/mp3 \; -exec rm -rf {} \;

おすすめ記事