複数ファイルのファイル名を一括変換する
複数のファイルのファイル名を一括で変更したい場合があります。
例えば、
「 hoge_01.txt, hoge_02.txt, ・・・, hoge_50.txt 」の様なファイル群を
↓
「 HOGE_01.txt, HOGE_02.txt, ・・・, HOGE_50.txt 」
の様に、1回で変更したい場合の事です。
複数ファイルのファイル名を一括変換するには、rename コマンドが便利です。
Last Update : 2007年08月08日
複数ファイルのファイル名を一括変換する 項目
1. renameコマンドの使い方
renameコマンドは、ファイル名を変更します。renameコマンドの使い方を説明します。
書式
rename from to file...
オプション
from | 置き換え前の文字列 |
to | 置き換え後の文字列 |
file... | 変換対象のファイル |
説明
rename コマンドは、file...に指定したファイル名の from に最初にマッチする部分を to に置き換えてくれます。
例)ファイル名「 hoge_01.txt 」を「 HOGE_01.txt 」へ変更する。
[hoge@localhost ~]$ ls hoge_01.txt [hoge@localhost ~]$ rename hoge HOGE hoge_01.txt ← rename コマンド [hoge@localhost ~]$ ls HOGE_01.txt ←ファイル名が変更された
例)複数ファイルを指定する場合。
[hoge@localhost ~]$ ls -1 hoge_01.txt hoge_02.txt ↓ スペース区切りでファイルを続けて書く [hoge@localhost ~]$ rename hoge HOGE hoge_01.txt hoge_02.txt [hoge@localhost ~]$ ls HOGE_01.txt HOGE_02.txt ←両方共ファイル名が変更された
2. renameコマンドで複数ファイル名を一括変換する
もっとたくさんの複数ファイルに対して変更を行う場合は、file...の部分をワイルドカード等で指定するだけです。
[hoge@localhost ~]$ ls -1 hoge_01.txt hoge_02.txt hoge_03.txt ↓「 * 」でhoge_全ファイルを指定する [hoge@localhost ~]$ rename hoge HOGE ./hoge_* [hoge@localhost ~]$ ls -1 HOGE_01.txt HOGE_02.txt HOGE_03.txt ← ファイル名が全て変換される