ログ出力から CSV ファイルを作成しようとしています
ログ ファイルの 2 行の例:
May 24 2013 18:13:24 ROUTER1 %%01IFNET/4/UPDOWN(l): The state of interface GigabitEthernet0/0/22 was changed to DOWN.
May 24 2013 17:59:33 ROUTER1 %%01FIB/3/REFRESH_END(l): FIB refreshing end, the refresh group map is 0!
期待される出力:
May 24 2013 18:13:24,ROUTER1,01IFNET,4,UPDOWN,The state of interface GigabitEthernet0/0/22 was changed to DOWN.
May 24 2013 17:59:33,ROUTER1,01IFNET,3,REFRESH_END,FIB refreshing end, the refresh group map is 0!
この awk コマンドを使用して、いくつかの部分を正しく取得することができました。
cat test.log | awk -F'[" "%%/(l)]' '{print $1" "$2" "$3","$4","$5","$8","$9","$10","}'
出力:
May 24 2013 18:13:24,ROUTER1,01IFNET,4,UPDOWN,
May 24 2013 17:59:33,ROUTER1,01IFNET,3,REFRESH_END,
しかし、 「(l):」の後に「FIB リフレッシュ終了、リフレッシュ グループ マップは 0 です!」または「インターフェイス GigabitEthernet0/0/22 の状態が DOWN に変更されました。 」のような複数の列の説明テキストをキャプチャするにはどうすればよいでしょうか。お知らせ下さい。