kazmax - Linux で自宅サーバー

複数ファイルのファイル名を一括変換する

複数のファイルのファイル名を一括で変更したい場合があります。

例えば、
「 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コマンドの使い方
  2. renameコマンドで複数ファイル名を一括変換する

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 ← ファイル名が全て変換される
・・・