何千、何万行もあるログから、特定の文字列を含む行だけを抽出したい!ってときのための覚え書き。

 

下記の正規表現を空文字に変換してやればOK!

^(?!.*文字列).*$\r\n

 

※改行コードがCRLFじゃなくてLFのログの場合は、末尾の\r\n\nに変えるべし。

 

一応実践例

といっても、いい感じのログとか持ってないから、以前投稿した「CドライブのSSDを交換したい その1」の記事内容から、SSDという文字列を含む行以外を削除してみる。サクラエディタで。

 

■こんなテキスト。黄色くなっているSSDという文字列を含む行のみ残したい。

 

■Ctrl+Rで置換ウィンドウを開く。

 置換前:^(?!.*SSD).*$\r\n

 置換後:空文字

 正規表現にチェックを入れて「すべて置換」

 

■じゃーん

(わかりやすく、検索しなおしてSSDという文字列を黄色くしてます。)

 

ログが何十万件もあるとそこそこかかるけど、IT屋に支給されてるPCならまあ大丈夫なはず。