初期desireもち。趣味Mac,メインFedora,仕事xp。音楽/mp3bashを使ってファイル名を整理したい。こんなファイルがあって文字列「Perfume」で始まるファイルのうち、「Perfume」の後ろにアンダーバーが入っていないファイルだけを取り出して、そこに一括でアンダーバーを入れてやりたい。ファイルの一括処理をするにはシェルでfor文を回せばいいだけ。doneとすればここの部分か、またはifの条件にある正規表現の箇所でファイルを捕まえられる。ここの箇所の表現は(シェルがbashか、zshか、cshかによって)記法が変わってきちゃいそうなので、今回は(より柔軟そうな)ifの条件にある正規表現にて捕まえることにする。doneあれ?2件しかひっかからない?あ、そうか。正規表現が間違っている。この正規表現だと「PerfumeDream」みたいに、大文字の次に小文字がくるやつしか引っかからないか。長ったらしくなるが、if文の中に「or条件」で書いてみる。ほしいファイル4件が引っ掛かった。あとはmvにsedを使ってPerfumeのあとにアンダーバーを入れてやれば良い。