1

私はmp3プレーヤーを持っています。OSとしてUbuntuを搭載したPCに接続しました。.mp3 以外のファイルをすべて削除したい。

それらを削除するためのコマンドは rm *.mp3 であることは知っていますが、これを無効にするための組み合わせは何ですか? 試してみました: rm ^.mp3, ^mp3 ^[mp3] ですが、うまくいきませんでした! なにか提案を?

4

4 に答える 4

3

bashを使用して設定されていると仮定するとextglob、次のことができるはずです。

rm !(*.mp3)

lsそのコマンドをやみくもに実行する前に、テストを試みます。

ls !(*.mp3)

の値を確認するにはextglob:

shopt extglob

必要に応じてオンにするには、次のようにします。

shopt -s extglob
于 2012-06-26T16:35:34.677 に答える
2

非 mp3 ファイルをすべて削除します。

find . -type f ! -name '*.mp3' -delete
于 2012-06-26T16:40:01.647 に答える
0

GNU 検索の使用:

find FOLDER -not -iname '*.mp3' -not -type d -delete

これは FOLDER から始まり、再帰的にサブフォルダーを通過し、このファイルがディレクトリでない限り、mp3 (大文字と小文字を区別しない) で終わらないファイルを削除します。

于 2012-06-26T16:37:47.057 に答える
0

dir からすべての非 mp3 ファイルを再帰的に削除します

それらを印刷します。

find dir -type f | egrep -vi "\.mp3$"

それらを削除します

find dir -type f | egrep -vi "\.mp3$" | xargs rm -f
于 2012-06-26T16:39:05.157 に答える