このエントリーをはてなブックマークに追加


ファイル名の先頭に文字列を追加したりファイルの拡張子を一括で変更する方法・rename

renameコマンドを利用することにより、ファイル名の先頭に文字列を追加したり、拡張子を一括で変更することが簡単に実現できます。
以下にrenameコマンドを使用し、ファイル名の先頭に文字列を一括で追加する例と拡張子を一括で変更する例を記します。


renameコマンドを使用しファイル名の先頭に文字列を一括で追加する

以下のようなファイル群があった場合、renameコマンドを以下のように使用すれば、一括でファイル名の先頭に文字列を追加することができます。

[sakura@centos6 ~]$ ls -1 *
kanagawa.csv
saitama.csv
tokyo.csv

以下の方法でファイル名の先頭に2012_を追加します。

[sakura@centos6 ~]$ rename '' 2012_ *.csv

追加した結果は以下の通りです。

[sakura@centos6 ~]$ ls -1
2012_kanagawa.csv
2012_saitama.csv
2012_tokyo.csv

対象ファイルの先頭に文字列を一括で追加したい場合は、以下の構文になります。

rename '' 先頭に追加する文字列 対象ファイル

上記の例では、先頭に追加する文字列は 2012_ になり、対象となるファイルは *.csv になります。

尚、追加した文字列を削除したい場合は、以下のようにします。 削除前

[sakura@centos6 ~]$ ls -1 *.csv
2012_kanagawa.csv
2012_saitama.csv
2012_tokyo.csv

削除後

[sakura@centos6 ~]$ rename 2012_ '' *.csv
[sakura@centos6 ~]$ ls -1
kanagawa.csv
saitama.csv
tokyo.csv

renameコマンドは最初に指定した引数である文字列を次の引数の文字列に置き換えます。
したがって、 rename 2012_ '' *.csv を実行すれば、先頭に文字列を追加した前のファイル名に戻ります。

拡張子を一括で変更する

以下のようなファイル群が存在している場合の例を記します。
置換する拡張子はcsvをtsvに変更します。

[sakura@centos6 ~]$ ls -1
kanagawa.csv
kanagawa.dat
saitama.csv
saitama.dat
tokyo.csv
tokyo.dat

拡張子csvを拡張子tsvに変更する

[sakura@centos6 ~]$ rename .csv .tsv *.csv
[sakura@centos6 ~]$ ls -1
kanagawa.dat
kanagawa.tsv
saitama.dat
saitama.tsv
tokyo.dat
tokyo.tsv

拡張子csvが拡張子tsvに変更されました。

拡張子の変更例を記しましたが、実際には文字列の置換を行なっています。
上記の削除例も同様で、指定した文字列を次の引数で指定した文字列(削除の場合はシングルクオートで囲み何もなし)で置換します。
構文は以下のようになります。

rename 置換する文字列 置換文字列 対象ファイル

以上、renameコマンドを利用してファイル名を一括変換する方法でした。



トップ   編集 凍結 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS
Last-modified: 2015-03-20 (金) 22:27:37