利用ガイド

オンラインLinux テキストツール — grep · awk · sed

貼り付けたログを grep で絞り、awk で列を抽出し、sed で置換、sort・uniq で重複を集計します。対応オプションでパイプを使います。

使い方

  1. ログやテキストを「元のテキスト」に貼り付けます。この入力欄は複数行に対応します。
  2. 1行の「コマンド」欄に grep 'ERROR' などを入力します。grep 'ERROR' | sort | uniq -c のようにパイプで接続できます。
  3. 実行ボタンまたはコマンド欄の Ctrl+Enter(Mac は ⌘+Enter)で実行します。編集だけでは自動実行しません。実行中は停止できます。
  4. 結果を確認し、拡大表示やコピーで出力全体を利用します。元の入力は変更されません。
  5. 元のテキストやコマンドを変更したら再実行してください。それまでは以前の結果のコピー・拡大表示は無効です。各リセットは該当入力を消してフォーカスを戻します。

入力と結果の例

重複するエラーログを集計

入力例

元のテキスト:
ERROR host api
INFO host web
ERROR host api
ERROR host worker

コマンド:
grep 'ERROR' | sort | uniq -c

結果例

      2 ERROR host api
      1 ERROR host worker

背景知識

標準入力・出力とパイプ
標準入力はコマンドが読むデータ、標準出力は結果です。パイプ(|)は前の結果を次の入力に渡します。grep が選んだ行だけを awk に渡すため、順序によって結果が変わります。
grep:行を検索
条件に一致する行を選択します。既定は正規表現で、-F は文字列そのまま、-E は拡張正規表現です。grep -E 'ERROR|WARN' の引用符内の | は「または」を意味します。
awk:フィールド・条件・集計
行をフィールドに分け、条件で選択し、合計などを計算します。既定は空白区切りで、$1 は最初、$3 は3番目、$0 は行全体です。-F で区切りを変え、END で最終集計を出力できます。
sed:置換・行削除
s/検索/置換/g は行内の一致箇所をすべて置換し、/条件/d は一致行を出力から除外します。sed '/DEBUG/d' は DEBUG 行を削除します。
sort・uniq:並べ替え・重複集計
sort -n は数値順、-r は逆順です。uniq は隣接する同じ行をまとめるため、全体の重複を数えるには先に sort を使います。uniq -c は件数を付け、sort -nr は件数の大きい順に並べます。
cut・tr:抽出・文字変換
cut は位置や区切り文字で抽出します。cut -d ',' -f 1 は最初のフィールドです。tr は文字を変換・削除し、tr a-z A-Z は ASCII 英字を大文字にします。
head・tail・wc:一部表示・件数
head -n 3 は先頭3行、tail -n 3 は末尾3行です。wc -l は改行数、-w は単語数、-c はバイト数です。末尾に改行がないと wc -l は見た目の行数より少なくなる場合があります。
引用符と正規表現
空白やパイプを含む検索式・プログラムは引用符で囲みます。awk は awk '{print $1, $3}' のように単一引用符を使います。引用符内の | はコマンドを区切りません。. や * には正規表現の特別な意味があります。

注意事項

よくある質問

このオンラインツールはどんな作業に使えますか?

貼り付けたログを grep で絞り、awk で列を抽出し、sed で置換、sort・uniq で重複を集計します。対応オプションでパイプを使います。

ターミナルのコマンドをそのまま使えますか?

対応範囲内のコマンド・オプションのみ使えます。grep ERROR app.log は grep ERROR にし、ファイル内容を元の入力に貼り付けます。完全なシェルや GNU/Linux 環境ではありません。

sed は元のテキストを変更しますか?

削除・置換は出力だけに反映します。入力や PC・サーバーのファイルは変更せず、新しいファイルも書きません。結果をコピーして利用します。

編集しても結果が変わらないのはなぜですか?

手動実行なのでボタンまたは Ctrl+Enter で再実行してください。以前の結果は残りますが、再実行まではコピー・拡大できません。

一致がない場合や時間がかかる場合は?

grep の不一致は空の結果です。長い処理は停止するか10秒制限で終了します。条件を絞り、データを減らして再実行してください。

uniq -c で同じ値が何度も出るのはなぜですか?

uniq は隣接した同じ行だけをまとめます。sort | uniq -c で全体の重複を数え、sort -nr で件数の大きい順にできます。

Baro Workはログイン不要のツール集です。入力と結果をサイトサーバーやブラウザーに保存しません。翻訳・DNSの外部送信は各説明をご確認ください。

ホームですべてのツールを使う →