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

0
0
キーワードを行を削除

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

  • キーワードは改行区切りで複数入力できます。
  • キーワードを複数指定した場合はOR条件(いずれかに一致)になります。
  • このツールは通信を行わずブラウザ内で動きます。本サイトが入力値を収集することはありません。
日本語 / English

ログの解析で便利。以前は正規表現で一括置換していたが面倒なのでツールにしてみました。

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

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

例1

「キーワードを含まない行を削除」で「process1」を指定
→「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

邪魔な行を一網打尽で大変めでたい。ログ解析の場合はこれが一番活躍している。

例2

「キーワードを含む行を削除」で「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

例3

「キーワードを先頭に含まない行を削除」で「ERROR」を指定
→「ERRORで始まる行以外」を削除

ERROR 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
        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
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

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

矢野ヒロタ / プログラマー
1988年生まれの会社員。ブラウザで使えるツールを作ったり文章を書いたりしています。役立つプログラミング記事を発信すると見せかけてもっぱら妄想です。よしなに。