tohokuaikiのチラシの裏

技術的ネタとか。

あるディレクトリ以下のファイルの拡張子を一括で変換する

Poeditを使ってて、「なー、HTML拡張子をうまくパースしてくれん」って思ってPoedit側で対応する方法を色々調べてた。

こんなエラーが出るんよ。

「xgettext extension `html' is unknown; will try C」

結局xgettextが対応していないみたいで、どーもうまくいかん。
PHPならうまくパースしてくれるんだけどな〜。


そこで、「なるほどくん!逆転の発想よ!」

という声は聞こえなかったけど、「じゃあ、いっかいファイルの拡張子PHPにしちゃえばいいじゃん」って思った。


Windowsのソフトを色々探ってみたけど、どーもネットワークファイルに対応してないみたいでアウト。
(開発はSamba上でやってるからね)


そこで、「じゃあシェルで」って思った。ググったら出てきたのが次の二つ。
ファイル名の一括変更 - すぎゃーんメモ
あるディレクトリ以下の複数ファイル内の文字列を一括で置換するワンライナー - 元RX-7乗りの適当な日々

やたー。すごいー。

これをちょっと改造して、

$ for a in `find . -type f ` ; do mv $a ${a/html/php};done

って感じに。

いやー、シェルスクリプト万歳。