1

入力ファイルは次のようになります。

Jan 23 14:57:16 TCP 217.79.188.21:80 in

私は試した:

sed 's/:[^:]* in/ in/'

ただし、:80 を削除するのではなく、:16 を削除し続けます。

どうすればこれを修正できますか?

4

3 に答える 3

0

これはあなたのために働くかもしれません:

echo "Jan 23 14:57:16 TCP 217.79.188.21:80 in" | sed 's/:..//3'
Jan 23 14:57:16 TCP 217.79.188.21 in

または(ポート番号は任意の番号である可能性が高いため):

echo "Jan 23 14:57:16 TCP 217.79.188.21:80 in" | sed 's/:[^ ]*//2'
Jan 23 14:57:16 TCP 217.79.188.21 in
于 2012-04-06T16:56:40.707 に答える
0
sed -E -e 's/:[[:digit:]]{1,3} in/ in/'
于 2012-04-06T11:54:35.527 に答える
0

Try matching both the IP and the port, and replacing it with the just the IP.

于 2012-04-06T11:40:01.543 に答える