作者:
decken (HAHAHA~)
2016-06-01 05:55:30大家好,
有一份文件(https://goo.gl/2Vc3Ui):
146460673
PING 10.0.0.6 (10.0.0.6): 56 data bytes
想要把146460673及56抓出來,
自己試過下列的regular expression:
cat short_measurement_PING.txt | sed -r 's/([0-9]+).*PING.*([0-9]+) data bytes/\1 \2/g'
cat short_measurement_PING.txt | sed -r 's/([0-9]+)$.*PING.*([0-9]+) data bytes/\1 \2/g'
cat short_measurement_PING.txt | sed -r 's/^([0-9]+)$^.*PING.*([0-9]+) data bytes/\1 \2/g'
不過完全沒作用,
想請問大家有什麼建議嗎?
謝謝~
※ 編輯: decken (212.201.78.21), 06/01/2016 06:10:26
作者: antontw (公道伯) 2016-06-01 09:57:00
用 awk 來做比較快:awk '{a=index($0, "P 0) byte=$0;else printf("byte=%d,data=%d", byte, $4);}' short_measurement_PING.txt貼爛了,重貼一次:awk '{a=index($0, "PING");if (a == 0)byte=$0; else printf("byte=%d, data=%d", byte, $4);}'short_measurement_PING.txt