Log解析のための編集の例。

    以下はJobLogからJOBの平均経過時間を求める例です。
      この他にもデータ編集用に有力な次のようなコマンド/オプションがあります
      Find -j :見つかった行の前後の行を連結。
               "&"(2つの文字列をAND探索)との組み合わせで探索行の間を連結。
      Find -L :見つかった行に行コマンドを設定。
               カーソル移動が不要なのでexeコマンドファイル内での使用に
               有用。
      F *=Mn all:2つのファイルをキーマッチング。
      REP/CRE/APP x/nx:非表示あるいは表示行のみからファイルを(追加)作成。
      SPLit strdelm:行を指定の文字列の箇所で切断。
      JOIn x/nx:非表示あるいは表示行1行に連結する。
      TC FMT  :フィールドの桁位置を整列してCut&Pasteを可能にする。
               大きすぎるファイルには xfmt ユーティリティーを
               使用してください。
      TC ~    :存続カウント計算。EVENT開始/終了時間から各レコードの発生時刻の
               EVENTの存在件数をカウントする。例えばTCP/IPトレースのSYN/FIN
               レコードを整形して一行にし、並行セッション数を調査するなど。
               大きすぎるファイルには xfmt/xmj ユーティリティーを
               使用してください。(例えばxfmtで必要な行、フィールドを抜き出し
               ファイルサイズを小さくする。xmjで関連行を1行に連結する)
      EXE     :コマンドをファイルから実行。
               同じ作業を複数のファイルに実行するときに有用です。
               EXEコマンド用のファイルの編集には::clを利用することもできます。
               (コマンドはオプションで::clにロギングすることができます。)

(1) "d" 行コマンドでヘッダー行等不用行を削除

dd  |  5722SS1 V5R2M0 020719                                 Activity Log
dd  | MSGID    SEV MSG TYPE
0003| CPF1124 Info       JOB 956017 18:25:14 started
0004|                  956017                   03/08/28 18:25:14.265840
0005| CPF1164 Comp       18:25:14 03/08/28 JOB 956017 Ended. rc=0.
0006|                  956017                   03/08/28 18:25:14.555056
0007| CPF1124 Info       JOB 956018 18:25:24 started
0008|                  956018                   03/08/28 18:25:24.576336
0009| CPF1124 Info       JOB 956019 18:25:34 started
0010|                  956019                   03/08/28 18:25:34.886520
0011| CPF1164 Comp       18:25:24 03/08/28 JOB 956018 Ended. rc=0.
0012|                  956018                   03/08/28 18:25:24.865520
0013| CPF1164 Comp       18:25:35 03/08/28 JOB 956019 Ended. rc=0.
0014|                  956019                   03/08/28 18:25:35.195192
0015| CPF1124 Info       JOB 956020 18:25:40 started
0016|                  956020                   03/08/28 18:25:40.826792
0017| CPI9803 Info       JOB 956020 assigned.
0018|                  956020                   03/08/28 18:25:41.225128
0019| CPF1164 Comp       18:25:41 03/08/28 JOB 956020 Ended. rc=0.
0020|                  956020                   03/08/28 18:25:41.794896
0021| CPF1124 Info       JOB 956021 18:25:41 started
0022|                  956021                   03/08/28 18:25:41.836736
0023| CPI9803 Info       JOB 956021 assigned.
0024|                  956021                   03/08/28 18:25:42.236168
0025| CPF1164 Comp       18:25:43 03/08/28 JOB 956021 Ended. rc=0.
0026|                  956021                   03/08/28 18:25:43.195912
0027| CPF1124 Info       JOB 956022 18:25:43 started
0028|                  956022                   03/08/28 18:25:43.245872
0029| CPI9803 Info       JOB 956022 assigned.
0030|                  956022                   03/08/28 18:25:43.677712

  |
  |
  v

0003| CPF1124 Info       JOB 956017 18:25:14 started
0004|                  956017                   03/08/28 18:25:14.265840
0005| CPF1164 Comp       18:25:14 03/08/28 JOB 956017 Ended. rc=0.
0006|                  956017                   03/08/28 18:25:14.555056
0007| CPF1124 Info       JOB 956018 18:25:24 started
0008|                  956018                   03/08/28 18:25:24.576336
0009| CPF1124 Info       JOB 956019 18:25:34 started
0010|                  956019                   03/08/28 18:25:34.886520
0011| CPF1164 Comp       18:25:24 03/08/28 JOB 956018 Ended. rc=0.
0012|                  956018                   03/08/28 18:25:24.865520
0013| CPF1164 Comp       18:25:35 03/08/28 JOB 956019 Ended. rc=0.
0014|                  956019                   03/08/28 18:25:35.195192
0015| CPF1124 Info       JOB 956020 18:25:40 started
0016|                  956020                   03/08/28 18:25:40.826792
0017| CPI9803 Info       JOB 956020 assigned.
0018|                  956020                   03/08/28 18:25:41.225128
0019| CPF1164 Comp       18:25:41 03/08/28 JOB 956020 Ended. rc=0.
0020|                  956020                   03/08/28 18:25:41.794896
0021| CPF1124 Info       JOB 956021 18:25:41 started
0022|                  956021                   03/08/28 18:25:41.836736
0023| CPI9803 Info       JOB 956021 assigned.
0024|                  956021                   03/08/28 18:25:42.236168
0025| CPF1164 Comp       18:25:43 03/08/28 JOB 956021 Ended. rc=0.
0026|                  956021                   03/08/28 18:25:43.195912
0027| CPF1124 Info       JOB 956022 18:25:43 started
0028|                  956022                   03/08/28 18:25:43.245872
0029| CPI9803 Info       JOB 956022 assigned.
0030|                  956022                   03/08/28 18:25:43.677712

(2) "j"行コマンドで複数行にまたがるレコードを一行に連結。
     3行1レコードの時は jj3--jj とする。

     (レコードタイプによって行数が異なるときはレコードタイプごとに抜き出して
     連結する。レコードの抜き出しは "x all" で 全行非表示にした後,
     例えば5行1レコードなら "i CP1164 -a4" とする。この意味はレコードID
     をもつ行の後4行を表示するである。この後 "del x all" で該当レコードのみを
     残し "jj4--jj"で一行にする。これを1つのファイル"app"コマンドで累積する。
     それを各レコードタイプで繰り返す。)

jj  | CPF1124 Info       JOB 956017 18:25:14 started
0004|                  956017                   03/08/28 18:25:14.265840
0005| CPF1164 Comp       18:25:14 03/08/28 JOB 956017 Ended. rc=0.
0006|                  956017                   03/08/28 18:25:14.555056
0007| CPF1124 Info       JOB 956018 18:25:24 started
0008|                  956018                   03/08/28 18:25:24.576336
0009| CPF1124 Info       JOB 956019 18:25:34 started
0010|                  956019                   03/08/28 18:25:34.886520
0011| CPF1164 Comp       18:25:24 03/08/28 JOB 956018 Ended. rc=0.
0012|                  956018                   03/08/28 18:25:24.865520
0013| CPF1164 Comp       18:25:35 03/08/28 JOB 956019 Ended. rc=0.
0014|                  956019                   03/08/28 18:25:35.195192
0015| CPF1124 Info       JOB 956020 18:25:40 started
0016|                  956020                   03/08/28 18:25:40.826792
0017| CPI9803 Info       JOB 956020 assigned.
0018|                  956020                   03/08/28 18:25:41.225128
0019| CPF1164 Comp       18:25:41 03/08/28 JOB 956020 Ended. rc=0.
0020|                  956020                   03/08/28 18:25:41.794896
0021| CPF1124 Info       JOB 956021 18:25:41 started
0022|                  956021                   03/08/28 18:25:41.836736
0023| CPI9803 Info       JOB 956021 assigned.
0024|                  956021                   03/08/28 18:25:42.236168
0025| CPF1164 Comp       18:25:43 03/08/28 JOB 956021 Ended. rc=0.
0026|                  956021                   03/08/28 18:25:43.195912
0027| CPF1124 Info       JOB 956022 18:25:43 started
0028|                  956022                   03/08/28 18:25:43.245872
0029| CPI9803 Info       JOB 956022 assigned.
jj  |                  956022                   03/08/28 18:25:43.677712

  |
  |  (頁幅の関係で間のカラムは省略)
  v

0003| CPF1124 Info       JOB 956017 18:25:14 started        ... 18:25:14.265840
0005| CPF1164 Comp       18:25:14 03/08/28 JOB 956017 Ended....      03/08/28 18:25:14.555056
0007| CPF1124 Info       JOB 956018 18:25:24 started        ... 18:25:24.576336
0009| CPF1124 Info       JOB 956019 18:25:34 started        ... 18:25:34.886520
0011| CPF1164 Comp       18:25:24 03/08/28 JOB 956018 Ended....      03/08/28 18:25:24.865520
0013| CPF1164 Comp       18:25:35 03/08/28 JOB 956019 Ended....      03/08/28 18:25:35.195192
0015| CPF1124 Info       JOB 956020 18:25:40 started        ... 18:25:40.826792
0017| CPI9803 Info       JOB 956020 assigned.               ...1.225128
0019| CPF1164 Comp       18:25:41 03/08/28 JOB 956020 Ended....      03/08/28 18:25:41.794896
0021| CPF1124 Info       JOB 956021 18:25:41 started        ... 18:25:41.836736
0023| CPI9803 Info       JOB 956021 assigned.               ...2.236168
0025| CPF1164 Comp       18:25:43 03/08/28 JOB 956021 Ended....      03/08/28 18:25:43.195912
0027| CPF1124 Info       JOB 956022 18:25:43 started        ... 18:25:43.245872
0029| CPI9803 Info       JOB 956022 assigned.               ...3.677712

(3) TCコマンド、SORtコマンドでカラム指定パラメータがあるので Shift F11 で
    桁ゲージを表示しておく。

  |
  |  (頁幅の関係で間のカラムは省略)
  v

col |....+....1....+....2....+....3....+....4....+....5....+....6....+....7..
0003| CPF1124 Info       JOB 956017 18:25:14 started        ... 18:25:14.265840
0005| CPF1164 Comp       18:25:14 03/08/28 JOB 956017 Ended....      03/08/28 18:25:14.555056
0007| CPF1124 Info       JOB 956018 18:25:24 started        ... 18:25:24.576336
0009| CPF1124 Info       JOB 956019 18:25:34 started        ... 18:25:34.886520
0011| CPF1164 Comp       18:25:24 03/08/28 JOB 956018 Ended....      03/08/28 18:25:24.865520
0013| CPF1164 Comp       18:25:35 03/08/28 JOB 956019 Ended....      03/08/28 18:25:35.195192
0015| CPF1124 Info       JOB 956020 18:25:40 started        ... 18:25:40.826792
0017| CPI9803 Info       JOB 956020 assigned.               ...1.225128
0019| CPF1164 Comp       18:25:41 03/08/28 JOB 956020 Ended....      03/08/28 18:25:41.794896
0021| CPF1124 Info       JOB 956021 18:25:41 started        ... 18:25:41.836736
0023| CPI9803 Info       JOB 956021 assigned.               ...2.236168
0025| CPF1164 Comp       18:25:43 03/08/28 JOB 956021 Ended....      03/08/28 18:25:43.195912
0027| CPF1124 Info       JOB 956022 18:25:43 started        ... 18:25:43.245872
0029| CPI9803 Info       JOB 956022 assigned.               ...3.677712

(4) 不用行を削除する為に不用行を非表示にする

    コマンド入力行===>x COI9803 all

  |
  |  (頁幅の関係で間のカラムは省略)
  v

col |....+....1....+....2....+....3....+....4....+....5....+....6....+....7..
0003| CPF1124 Info       JOB 956017 18:25:14 started        ... 18:25:14.265840
0005| CPF1164 Comp       18:25:14 03/08/28 JOB 956017 Ended....      03/08/28 18:25:14.555056
0007| CPF1124 Info       JOB 956018 18:25:24 started        ... 18:25:24.576336
0009| CPF1124 Info       JOB 956019 18:25:34 started        ... 18:25:34.886520
0011| CPF1164 Comp       18:25:24 03/08/28 JOB 956018 Ended....      03/08/28 18:25:24.865520
0013| CPF1164 Comp       18:25:35 03/08/28 JOB 956019 Ended....      03/08/28 18:25:35.195192
0015| CPF1124 Info       JOB 956020 18:25:40 started        ... 18:25:40.826792
-      1 line excluded ----------------------------------------------------------------------
0019| CPF1164 Comp       18:25:41 03/08/28 JOB 956020 Ended....      03/08/28 18:25:41.794896
0021| CPF1124 Info       JOB 956021 18:25:41 started        ... 18:25:41.836736
-      1 line excluded ----------------------------------------------------------------------
0025| CPF1164 Comp       18:25:43 03/08/28 JOB 956021 Ended....      03/08/28 18:25:43.195912
0027| CPF1124 Info       JOB 956022 18:25:43 started        ... 18:25:43.245872
-      1 line excluded ----------------------------------------------------------------------

(5) 不用行を削除する。

    コマンド入力行===>del x all

  |
  |  (頁幅の関係で間のカラムは省略)
  v

col |....+....1....+....2....+....3....+....4....+....5....+....6....+....7..
0003| CPF1124 Info       JOB 956017 18:25:14 started        ... 18:25:14.265840
0005| CPF1164 Comp       18:25:14 03/08/28 JOB 956017 Ended....      03/08/28 18:25:14.555056
0007| CPF1124 Info       JOB 956018 18:25:24 started        ... 18:25:24.576336
0009| CPF1124 Info       JOB 956019 18:25:34 started        ... 18:25:34.886520
0011| CPF1164 Comp       18:25:24 03/08/28 JOB 956018 Ended....      03/08/28 18:25:24.865520
0013| CPF1164 Comp       18:25:35 03/08/28 JOB 956019 Ended....      03/08/28 18:25:35.195192
0015| CPF1124 Info       JOB 956020 18:25:40 started        ... 18:25:40.826792
0019| CPF1164 Comp       18:25:41 03/08/28 JOB 956020 Ended....      03/08/28 18:25:41.794896
0021| CPF1124 Info       JOB 956021 18:25:41 started        ... 18:25:41.836736
0025| CPF1164 Comp       18:25:43 03/08/28 JOB 956021 Ended....      03/08/28 18:25:43.195912
0027| CPF1124 Info       JOB 956022 18:25:43 started        ... 18:25:43.245872

(6) レコードID、この場合はMsgIDでSORT。
    レコード毎にFormatが異なり、それぞれ毎に Cut & Paste で整形するためにSORTする

    コマンド入力行===>sort 2-8

  |
  |  (頁幅の関係で間のカラムは省略)
  v

col |....+....1....+....2....+....3....+....4....+....5....+....6....+....7..
0003| CPF1124 Info       JOB 956017 18:25:14 started        ... 18:25:14.265840
0005| CPF1124 Info       JOB 956018 18:25:24 started        ... 18:25:24.576336
0006| CPF1124 Info       JOB 956019 18:25:34 started        ... 18:25:34.886520
0009| CPF1124 Info       JOB 956020 18:25:40 started        ... 18:25:40.826792
0011| CPF1124 Info       JOB 956021 18:25:41 started        ... 18:25:41.836736
0013| CPF1124 Info       JOB 956022 18:25:43 started        ... 18:25:43.245872
0015| CPF1164 Comp       18:25:14 03/08/28 JOB 956017 Ended....      03/08/28 18:25:14.555056
0019| CPF1164 Comp       18:25:24 03/08/28 JOB 956018 Ended....      03/08/28 18:25:24.865520
0021| CPF1164 Comp       18:25:35 03/08/28 JOB 956019 Ended....      03/08/28 18:25:35.195192
0025| CPF1164 Comp       18:25:41 03/08/28 JOB 956020 Ended....      03/08/28 18:25:41.794896
0027| CPF1164 Comp       18:25:43 03/08/28 JOB 956021 Ended....      03/08/28 18:25:43.195912

(7) JOB番号でSORTする為に整形してJOB番号を同じカラムにする。

    整形には Cut & Pasteを使用。行数が多いときは間の行を "x" 行コマンドで
    非表示にし全体が見える形にすると操作がしやすい。
    あるいは "(" などのシフト行コマンドを使用。
    シフト行コマンドはカーソルをファイル内容欄に置けばそのカラムの
    左ないし右側にのみ作用させることが出来る。

  |
  |
  v

col |....+....1....+....2....+....3....+....4....+....5....+....6....+....7..
0003| CPF1124 Info       JOB 956017  started  18:25:14.265840
0005| CPF1124 Info       JOB 956018  started  18:25:24.576336
0007| CPF1124 Info       JOB 956019  started  18:25:34.886520
0009| CPF1124 Info       JOB 956020  started  18:25:40.826792
0011| CPF1124 Info       JOB 956021  started  18:25:41.836736
0013| CPF1124 Info       JOB 956022  started  18:25:43.245872
0015| CPF1164 Comp       JOB 956017 Ended.    18:25:14.555056
0019| CPF1164 Comp       JOB 956018 Ended.    18:25:24.865520
0021| CPF1164 Comp       JOB 956019 Ended.    18:25:35.195192
0025| CPF1164 Comp       JOB 956020 Ended.    18:25:41.794896
0027| CPF1164 Comp       JOB 956021 Ended.    18:25:43.195912

(8) JOBごとにレコードを集める為にJOB番号でSORT

    コマンド入力行===>sort 25-30

  |
  |
  v

col |....+....1....+....2....+....3....+....4....+....5....+....6....+....7..
0003| CPF1124 Info       JOB 956017  started  18:25:14.265840
0005| CPF1164 Comp       JOB 956017 Ended.    18:25:14.555056
0007| CPF1124 Info       JOB 956018  started  18:25:24.576336
0009| CPF1164 Comp       JOB 956018 Ended.    18:25:24.865520
0011| CPF1124 Info       JOB 956019  started  18:25:34.886520
0013| CPF1164 Comp       JOB 956019 Ended.    18:25:35.195192
0015| CPF1124 Info       JOB 956020  started  18:25:40.826792
0019| CPF1164 Comp       JOB 956020 Ended.    18:25:41.794896
0021| CPF1124 Info       JOB 956021  started  18:25:41.836736
0025| CPF1164 Comp       JOB 956021 Ended.    18:25:43.195912
0027| CPF1124 Info       JOB 956022  started  18:25:43.245872

(9) "j"行コマンドで同じJOBのレコードを一行に連結
    ペアになってないレコードは"d"行コマンドで削除。

col |....+....1....+....2....+....3....+....4....+....5....+....6....+....7..
jj  | CPF1124 Info       JOB 956017  started  18:25:14.265840
0005| CPF1164 Comp       JOB 956017 Ended.    18:25:14.555056
0007| CPF1124 Info       JOB 956018  started  18:25:24.576336
0009| CPF1164 Comp       JOB 956018 Ended.    18:25:24.865520
0011| CPF1124 Info       JOB 956019  started  18:25:34.886520
0013| CPF1164 Comp       JOB 956019 Ended.    18:25:35.195192
0015| CPF1124 Info       JOB 956020  started  18:25:40.826792
0019| CPF1164 Comp       JOB 956020 Ended.    18:25:41.794896
0021| CPF1124 Info       JOB 956021  started  18:25:41.836736
jj  | CPF1164 Comp       JOB 956021 Ended.    18:25:43.195912
d   | CPF1124 Info       JOB 956022  started  18:25:43.245872

  |
  |
  v

col |....+....1....+....2....+....3....+....4....+....5....+....6....+....7..
0003| CPF1124 Info       JOB 956017  started  18:25:14.265840 CPF1164 Comp       JOB 956017 Ended.    18:25:14.555056
0007| CPF1124 Info       JOB 956018  started  18:25:24.576336 CPF1164 Comp       JOB 956018 Ended.    18:25:24.865520
0011| CPF1124 Info       JOB 956019  started  18:25:34.886520 CPF1164 Comp       JOB 956019 Ended.    18:25:35.195192
0015| CPF1124 Info       JOB 956020  started  18:25:40.826792 CPF1164 Comp       JOB 956020 Ended.    18:25:41.794896
0021| CPF1124 Info       JOB 956021  started  18:25:41.836736 CPF1164 Comp       JOB 956021 Ended.    18:25:43.195912

(10) TC コマンドのための整形
    Cut & Paste で 必要なカラムのみを残す。

  |
  |
  v

col |....+....1....+....2....+....3....+....4....+....5....+....6....+....7..
0003| JOB 956017  started  18:25:14.265840 Ended.    18:25:14.555056
0007| JOB 956018  started  18:25:24.576336 Ended.    18:25:24.865520
0011| JOB 956019  started  18:25:34.886520 Ended.    18:25:35.195192
0015| JOB 956020  started  18:25:40.826792 Ended.    18:25:41.794896
0021| JOB 956021  started  18:25:41.836736 Ended.    18:25:43.195912

(11) TCコマンドでJOBの存続時間を計算。

    コマンド入力行===>tc 49-63-=23-30

  |
  |
  v

col |....+....1....+....2....+....3....+....4....+....5....+....6....+....7..
0003| JOB 956017  started  18:25:14.265840 Ended.    00:00:00.555056
0007| JOB 956018  started  18:25:24.576336 Ended.    00:00:00.865520
0011| JOB 956019  started  18:25:34.886520 Ended.    00:00:01.195192
0015| JOB 956020  started  18:25:40.826792 Ended.    00:00:01.794896
0021| JOB 956021  started  18:25:41.836736 Ended.    00:00:02.195912

(12) JOB存続時間の合計、件数、最大、最小、平均を計算

    コマンド入力行===>tc 49-63+ amm aft

  |
  |
  v

col |....+....1....+....2....+....3....+....4....+....5....+....6....+....7..
0003| JOB 956017  started  18:25:14.265840 Ended.    00:00:00.555056
0007| JOB 956018  started  18:25:24.576336 Ended.    00:00:00.865520
0011| JOB 956019  started  18:25:34.886520 Ended.    00:00:01.195192
0015| JOB 956020  started  18:25:40.826792 Ended.    00:00:01.794896
0021| JOB 956021  started  18:25:41.836736 Ended.    00:00:02.195912
0022|=  =00:00:06.606576; /5=00:00:01.321315; (00:00:00.555056<<00:00:02.195912);