私はmp3プレーヤーを持っています。OSとしてUbuntuを搭載したPCに接続しました。.mp3 以外のファイルをすべて削除したい。
それらを削除するためのコマンドは rm *.mp3 であることは知っていますが、これを無効にするための組み合わせは何ですか? 試してみました: rm ^.mp3, ^mp3 ^[mp3] ですが、うまくいきませんでした! なにか提案を?
bash
を使用して設定されていると仮定するとextglob
、次のことができるはずです。
rm !(*.mp3)
ls
そのコマンドをやみくもに実行する前に、テストを試みます。
ls !(*.mp3)
の値を確認するにはextglob
:
shopt extglob
必要に応じてオンにするには、次のようにします。
shopt -s extglob
非 mp3 ファイルをすべて削除します。
find . -type f ! -name '*.mp3' -delete
GNU 検索の使用:
find FOLDER -not -iname '*.mp3' -not -type d -delete
これは FOLDER から始まり、再帰的にサブフォルダーを通過し、このファイルがディレクトリでない限り、mp3 (大文字と小文字を区別しない) で終わらないファイルを削除します。
dir からすべての非 mp3 ファイルを再帰的に削除します
それらを印刷します。
find dir -type f | egrep -vi "\.mp3$"
それらを削除します
find dir -type f | egrep -vi "\.mp3$" | xargs rm -f