今日の作業で、Grep 置換をすることになった。
簡単に言うと、古い設定が至る所に散りばめられて残っているのを、新しい設定に入れ替える作業だ。作業者がみんな帰った後、ボクが一気に入れ替える作業をし、月曜日にはみんなは新しい設定の状態で作業ができるようにする。
でね、まぁ普段からテキスト ファイルをいじっている人なら、上のことはなんてことない作業だというのは解ると思う。さらに性器正規表現なんかを使いこなしている人にとっては、お茶の子さいさいのレベルだろう。
ボクもそう思ってた。
さて、先日、メインのテキスト エディタを『秀丸エディタ』から『Sakura エディタ』に切り替えたと書いた。つまりボクは上の Grep 置換を Sakura エディタでやろうとしている。
ところが、である。
Sakura エディタは「改行をまたいだ検索は出来ない」ということが判明!
ちょっwww
マジスカ!!
Grep という機能は、複数のファイルから指定した文字列を見つけてきてくれる機能だ。つまり Grep 置換というのはたくさんのファイルの中にある、ある文字列を別の文字列に置き換えてくれるわけである。
で、「改行をまたいだ検索」というのは、その検索したい文字列に「改行」が入っている場合だ。例えば以下の様な二行に別れてる文字列。
@chgbs “bs_kon102i00m”
@emotion2 03 “bs_kon102i00m”
これは「@chgbs \”bs_kon102i00m\”\n@emotion2 03 \”bs_kon102i00m\”」とすることにより検索可能だ。@emotion2 という命令の前にある「\n」という表記が「改行」を意味する。Sakura エディタではこのような検索が出来ないのだ(改行そのものを検索することは出来る)。
で、Sakura エディタでの解決方法は、マクロを組むこと。なんじゃそりゃ。
今回は単純な文字列の置き換えなので、マクロなんか組むほどのことでもない。
で、どうしたかというと、結局秀丸でやった<ヲイ
うーん、Sakura エディタ、けっこう細かい所で痒いところに手が届いてないなぁ。実は検索周りは秀丸使いからするといろいろ不満があって、例えば検索ダイアログを出したまま F3 / SHIFT + F3 で検索できなかったり、検索文字列がないと勝手にダイアログが出て次への作業が阻害されたり……まぁ、まだボクの勉強不足なところもあるとは思うんだけど。
特に今回のような複数行の検索ができないというのは致命的ではなかろうか。
まぁでもこれも、汎用のマクロを組むことによって解決はできそうだ。つまりマクロでは複数行での検索が出来るので、Grep と Grep 置換の機能を自分でマクロで組むのである。ただ言うのは簡単だが、作るのはけっこう面倒だなぁ……(汗)。
下の写真は中野坂上にある「天鳳」というラーメン屋。もう 10 年以上前から、青梅街道でこの店の前を通るたびに気になっているラーメン屋だった。でもこのあたりは車を停めるところもなく、入らずにいたのだけれど、夜の 0 時を過ぎていて、これならコインパーキングでも 1 時間 100 円だろうということで入ってみた。
味噌ラーメンが一応この店のメインらしい。
というわけで味噌ラーメンの全部入りを注文。
うーん、わりと普通だった(汗)。おいしかったけど、なんかこう他と違う強い個性があるのかなと思ったらそんなことはなく、オーソドックスで見た目通りの裏切らない味のお店でした(たぶんとんこつを使ってると思われる)。でも人気の店らしく、この時間でもお客さんが耐えることはなかった。