2013年12月16日月曜日

2つの単語によるgrep検索

大阪のUです。

某エディタでgrep検索しようとしたとき、
1つの単語であれば問題ないですが、2つの単語で検索しようと思うと、
間に半角空白を入れてもできません。

grepした結果に再検索すれば済む話ともいえますが、
なんとか1回で出来ないか、と考えたとき、
正規表現で簡単に出来ることに気づきました。

【正規表現】
文字列1.*文字列2

. ・・・・ 任意の1文字
* ・・・・ 直前の1文字の0回以上の繰り返し

今まで全然考えてませんでしたが、こんな簡単な記述で出来るとは。

これだけでも十分に有用ですが、
せっかくなのでもう一段階進めて考えました。

2行にまたがる2つの単語をgrep検索は出来ないのか?

プログラムやSQLを複数行にまたがって
書くことは多いからできれば検索がかなり捗る。


・・・できました。

【正規表現】
文字列1.*\n{0,1}.*文字列2

\n ・・・・ 改行
{0,1} ・・・・ 直前の1文字の0~1回の繰り返し


軽く調べてあっさり実現。
これはかなり便利なのでは。。

対象のエディタが複数行に対応してなければ
ダメかもしれませんが、使えるなら検索がかなり楽になりそうです。