正規表現メモ(2) mfind
Windowsにはgrepはないがfindstrという似たようなコマンドがある。しかしUTF-8に対応していない。
それでmfindというフリーソフトを使っている。これはUTF-8に対応している。ただ、仕様なのかバグなのか、マッチしたところのファイル名と行番号が表示されないときがある。どういう条件でそうなるのかがわからない。
mfindは.NETを使っているそうで、.NETの正規表現を使用できる。
下記の例では文字コードにUTF-8を指定し、「"abc"の前が行頭、空白文字、ダブルクウォート、シングルクウォート、ピリオド、カンマのいずれかで、"abc"の後が行末、空白文字、ダブルクウォート、シングルクウォート、ピリオド、カンマのいずれかである。大文字、小文字は区別しない。」という条件で検索している。
C:\data\tmp>mfind /N /E8 "/(^|[\s\"'\.,])abc([\s\"'\.,]|$)/i" *.txt
« Object.keys()をjQueryで代替する | Main | オープンリダイレクト脆弱性 »
「プログラミング、技術情報」カテゴリの記事
- PHPStorm 2018.1.7 に更新(2018.12.09)
- 技術メモをQiitaに移行(2016.01.24)
- 正規表現メモ:ものぐさ(最小)マッチング(2015.11.29)
- BASE64にエンコード/デコードするバッチファイル(2015.11.23)
- Windows7の検索ボックスの検索条件指定(フォルダの除外など)(2015.08.16)
Comments
The comments to this entry are closed.
一手間増えるけどwindowsならpowershell使うといいですよ。いろいろ便利。
コマンドラインからpowershellで起動して使います。
dir *.txt|select-string "(^|[\s`"'\.,])abc([\s`"'\.,]|$)"
Posted by: hir | November 24, 2013 10:52 PM
hirさん、情報どもです。
会社のPCがXPなんですが(いつまでXP使わせる気だ!!)、
今調べたらPowerShellってXPで使えるんですね。
なぜかVista以降だと思いこんでました^^;
勉強します。
Posted by: into | November 24, 2013 11:23 PM