最近、HTMLサイトで使用しているid、class名などを一括変更する機会がありました。
この記事ではその時にいつも見て見ぬふりをしていた秀丸のgrep置換を使用して、やりたいことが簡単に出来たのでご紹介します。
HTMLサイトでid、classをまとめて変更したい
すでにあるサイトで、id、class名を変更すると、HTMLファイルとCSSを同時に置換する必要があります。通常HTMLファイルはページごとに分割されていますから、HTMLファイルは複数あります。
このようなケースで、さすがに1ファイルづつ変更するのは間違いのもとなので、ファイルを一括置換できるツールはないかと探しました。
色々探してたどり着いたのは秀丸
おそらく、最近のエディタだと便利な機能があるのでしょう。しかし、使い慣れていないツールを置換系に使うのはハイリスクかなと思って、使い慣れている秀丸で処置することにしました。
最初に考えたのはマクロでした。秀丸には複数条件で一括置換する便利なマクロがあるようです。しかし、マクロの導入は他のDLLが必要になるなど、結構面倒なうえに設定項目も多くわかりにくい。これだと余り旨味が無い気がしてきました。
マクロ以外に、何かいい方法はないのか?
と考えていたら、いつも複数ファイルを一括検索する時に使っている秀丸のメニューにある『grep検索 』 の下に『grep置換 』 というメニューがあることを思い出しました。
もしかしてこれ使えんじゃないの?
秀丸のgrep置換は強力
秀丸のgrep置換を調べてみたらなんとびっくり、複数ファイルを一括検索して置換、上書き保存までできます。さらに正規表現にも対応という強力な布陣でした。
- まず、grep検索でキーワードの妥当性を確認
- 置換したくないものも含まれるようだったら、正規表現を使うなどキーワードを見直す
- その後、問題なさそうならgrep置換でキーワードを置換します。
まとめ
数ページのHTMLサイトであれば、秀丸のgrep置換を使えばCSSとHTMLのどこが置換されるのか一度grep検索で確認してから簡単に一括置換することができます。
コーディングしていて後からid、class名を変更したいと思ったときには秀丸のgrep置換は結構使えると覚えておいて損はないかもしれません。