## URLに使われるページ名はアルファベット(WikiName形式)を用いる ## 以下のタイトルを内容に沿ったものに変更する #title ファイル名を一括変更するには(renameコマンド) ## 「6.06 Dapper Drake」といった形式で箇条書きにする ## バージョン非依存のTipの場合は「すべて」と記述 * '''対象とするUbuntuのバージョン''' * すべて 複数のファイル名を一括して変更する、「renameコマンド」 の使用例を示します。 UNIXにこのコマンドがないこともあって余り知られていませんが、どのLinuxにも含まれています。 == 基本的な使用法と特徴 == '''書式:'''  rename [ -option ] perlexpr [ files ] perlexpr: ファイル名変更の仕方を「Perl言語」で表記する。 具体的には、 ' s / from / to / ' とか ' y / from / to / ' である。                 ( 「manページ」からの抜粋を改変 ) '''特徴:''' 1. ファイル名に空白(スペース)が含まれていても変更できる。 1. 変更の前後で名前の長さが変わってもよい。 1. 「sedコマンド」と殆ど同じように記述でき、非常にelegantに変更可能。従って、正規表現により広範な応用ができる。 1. 名前を変更する「標的ファイル」は「 * 」でも、拡張子をつけて「 *.aaa 」でもよいし、ディレクトリを指定して「 / dir / * 」などとしてもよい。 == 具体的な使用例 == 最初に、[[http://tempest.dcnblog.jp/blog/2007/06/linux_1847.html|「TEMPEST : Linuxでファイル名をまとめて変更する」]] に書かれたファイル名変更の方法と、 「renameコマンド」 の方法を比較してみます。 '''(例1)''' 全てのファイル名に拡張子「.txt」を付ける。 {{{ $ for file in *; do mv -i $file `echo $file | sed 's/$/.txt/'`; done -----> $ rename 's/$/.txt/' *}}} 以下、上の記事の方は省略しますので、そちらをご覧下さい。 '''(例2)''' 拡張子 .htm を.html に変更する {{{ $ rename 's/.htm/.html/' *.htm}}} '''(例3)''' 拡張子 .htm を削除する {{{ $ rename 's/.htm//' *.htm}}} '''(例4)''' 先頭に文字「20070610-」を加える {{{ $ rename 's/^/20070610-/' *}}} '''(例5)''' 上の2007を2008に変更する {{{ $ rename 's/2007/2008/' *}}} 次に、web上の他の例を「renameコマンド」で書き換えてみます。 '''(例6)''' ファイル名を全部小文字に変更する {{{ $ for file in *; do mv "$file" `echo $file | tr '[A-Z]' '[a-z]'`; done -----> $ rename 'y/A-Z/a-z/' * または $ rename 'tr/A-Z/a-z/' *}}} == originalの例 == 次の様なmp3ファイルに対し、以下の2つの変更をしたい。 {{{ Brian Kelly - Cool Blue (www-briankelly-com).mp3 Doug Wisler - Serenity Shores (www-dougwisler-com).mp3}}} '''(例7)''' 「 ( url )」を削除する。 {{{ $ rename 's/ \(\S*\)//' *.mp3}}} '''(例8)''' 演奏者のファーストネームをイニシャル化する。 {{{ $ rename 's/^?[a-z]* /\. /' *.mp3}}}