1

この場合、ホスト IP と文字の後のすべてを最初の列に出力したいと思います%

10.162.254.12 3558: 003557: 2013 年 3 月 4 日 12:13:28: %LINEPROTO-SP-5-UPDOWN: インターフェイス GigabitEthernet8/37 の回線プロトコル、状態がアップに変更されました
192.50.0.14: 2013 年 3 月 4 日 13:14:20 EST : %ETHPORT-5-IF_DOWN_LINK_FAILURE: インターフェイス Ethernet17/33 がダウンしています (リンク障害)

4

2 に答える 2

2

2 つの%文字があり、最初または最後以降のすべてを印刷するかどうかを指定していませんか? を使用した両方の方法を次に示しますsed

# First field and everything after first %
$ sed 's/ [^%]*%/ /' file
10.162.254.12 LINEPROTO-SP-5-UPDOWN: Line protocol on Interface GigabitEthernet8/37, changed state to up 192.50.0.14 : 2013 Mar 4 13:14:20 EST: %ETHPORT-5-IF_DOWN_LINK_FAILURE: Interface Ethernet17/33 is down (Link failure)

# First field and everything after last % 
$ sed 's/ .*%/ /' file
10.162.254.12 ETHPORT-5-IF_DOWN_LINK_FAILURE: Interface Ethernet17/33 is down (Link failure)
于 2013-03-04T21:29:41.930 に答える
0
sed 's/\([^ ]*\)[^%]*%/\1 /' input
于 2013-03-04T21:30:53.723 に答える