ファイル名が最大4つの数字で始まるファイルは1366です。たとえば、
128.unique filename.flac
6.unique filename.flac
1288.unique filename.flac
すべてのファイルが次のように存在するように、すべての数字とピリオドを削除したいと思います。
unique filename.flac
unique filename.flac
unique filename.flac
Ubuntu 16.04を実行しています。この目標をどのように達成できますか?
答え1
シェルを使う
次のファイルから始めましょう。
$ ls
'unique filename 1.flac' 'unique filename 2.flac' 'unique filename
次のコマンドを実行してみましょう。
$ for f in [0-9]*flac; do mv "$f" "${f#*.}"; done
上記の実行後のファイルは次のようになります。
$ ls
'unique filename 1.flac' 'unique filename 2.flac' 'unique filename 3.flac'
for f in [0-9]*flac; do
for
数字で始まり、で終わるすべてのファイル名に対してループを開始しますflac
。 mv "$f" "${f#*.}"
ファイル名の先頭(最初のピリオドを含む)を削除します。done
サイクルの終わりを示しますfor
。
Perlrename
コマンド
そこに2つあります互換性がないこのユーティリティはPerlに付属のコマンド(時々とも呼ばれる)rename
で動作します。rename
prename
別のバージョンがインストールされている場合、rename
この方法は機能しません。
prename
このファイルで再起動し、次のコマンドを実行してみましょう。
$ ls
'1288.unique filename 3.flac' '128.unique filename 1.flac' '6.unique filename 2.flac'
$ prename 's/^\d+\.//' [0-9]*flac
$ ls
'unique filename 1.flac' 'unique filename 2.flac' 'unique filename 3.flac'
Perlの名前を変更するには正規表現を使用します。 \d+\.
ピリオドが後に続く 1 つ以上の数字と一致します。 ^
この数字はファイル名の先頭に表示する必要があります。 s/^\d+\.//
これらの数字とピリオドは何でも置き換えられます。