ツール|テキストから指定条件の行を削除

テキストの行をキーワードで絞り込むツール(キーワードを「含む」「含まない」「前方一致」「後方一致」など)。ログの解析なんかで便利。

入力:0

出力:8

条件

キーワードを行を削除
※複数指定した場合はOR条件(いずれかに一致)で絞り込みます。

※このツールは通信を行わずブラウザ内で動きます。本サイトが入力値を収集することはありません。
- Webツール

ログの解析でよく使っている。以前は正規表現で一括置換していたが、それすらも面倒になったのでツールにしてみた。

使用例

例えばこんなログがあったとして、

INFO  2019-01-31 15:00:00.000 1234/process1 message
ERROR 2019-01-31 15:00:00.000 1234/process1 message
INFO  2019-01-31 15:00:00.000 4321/process2 message
INFO  2019-01-31 15:00:00.000 1234/process1 message
INFO  2019-01-31 15:00:00.000 4321/process2 message
INFO  2019-01-31 15:00:00.000 4321/process3 message
INFO  2019-01-31 15:00:00.000 1234/process1 message

「キーワードを含まない行を削除」で「process1」を指定すると、

INFO  2019-01-31 15:00:00.000 1234/process1 message
ERROR 2019-01-31 15:00:00.000 1234/process1 message
INFO  2019-01-31 15:00:00.000 1234/process1 message
INFO  2019-01-31 15:00:00.000 1234/process1 message

process1を含まない行が削除されて大変めでたい。ログ解析の場合はこれが一番活躍している。

「キーワードを含む行を削除」で「process1」を指定すると、

INFO  2019-01-31 15:00:00.000 4321/process2 message
INFO  2019-01-31 15:00:00.000 4321/process2 message
INFO  2019-01-31 15:00:00.000 4321/process3 message

process1を含む行だけが削除される。

「キーワードを先頭に含まない行を削除」で「ERROR」を指定すると、

ERROR 2019-01-31 15:00:00.000 1234/process1 message

ERRORで始まる行以外が削除される。

注意点として、このツールは単純にキーワードで絞り込みをおこなうだけなので、ログの内容次第では見たい行も削除してしまう。

INFO  2019-01-31 15:00:00.000 1234/process1 message
ERROR 2019-01-31 15:00:00.000 1234/process1 message
    com.process1.Exception
        at com.hoge(hoge:2)
        at com.fuga(fuga:3)
        at com.piyo(piyo:5)
INFO  2019-01-31 15:00:00.000 4321/process2 message
INFO  2019-01-31 15:00:00.000 1234/process1 message
INFO  2019-01-31 15:00:00.000 4321/process2 message
INFO  2019-01-31 15:00:00.000 4321/process3 message
INFO  2019-01-31 15:00:00.000 1234/process1 message

「キーワードを含まない行を削除」で「process1」を指定すると、

INFO  2019-01-31 15:00:00.000 1234/process1 message
ERROR 2019-01-31 15:00:00.000 1234/process1 message
    com.process1.Exception
INFO  2019-01-31 15:00:00.000 1234/process1 message
INFO  2019-01-31 15:00:00.000 1234/process1 message

スタックトレースの行まで削除してしまう。動きをご理解のうえ工夫してご利用頂きたい。

ちなみに行の削除(絞り込み)は正規表現で実現しており、「キーワードを含まない行を削除」はこんな感じ。

/^(?!.*(keyword1|keyword2)).*$(\r\n|\r|\n)?/gm

正規表現は以下の記事で紹介している。
正規表現|条件に一致した行を削除する

- Webツール

矢野ヒロタ /1988年生まれ。プログラマー、会社員。仕事で培ったWebやスマホアプリの技術を発信すると見せかけてもっぱら妄想を綴っています。よしなに。