Text-Processing
如何從文本文件中提取和排序 ping 時間到另一個文本文件/列表中
我有一個日誌文件,其中包含來自某個網站的 ping 的文本文件,稱為
pingoutput.txt
按行分隔每個 ping 回复。現在我需要從這個文本文件中提取往返時間,time=
然後將其提取ms
到另一個文本文件或列表中,然後我可以從最小到最大排序。64 bytes from onofri.org (67.222.36.105): icmp_req=1 ttl=47 time=202 ms 64 bytes from onofri.org (67.222.36.105): icmp_req=2 ttl=47 time=206 ms 64 bytes from onofri.org (67.222.36.105): icmp_req=3 ttl=47 time=215 ms
該
pingoutput.txt
文件也很大,大約有 86400 行。我正在通過 Linux 上的 shell 腳本執行此操作。
這對我有用:
sed 's/.*time=\([0-9]*\) .*/\1/' times | sort -n > outfile
times
這個文件在哪裡:cat times 64 bytes from onofri.org (67.222.36.105): icmp_req=1 ttl=47 time=202 ms 64 bytes from onofri.org (67.222.36.105): icmp_req=2 ttl=47 time=206 ms 64 bytes from onofri.org (67.222.36.105): icmp_req=3 ttl=47 time=215 ms
outfile
看起來像這樣:cat outfile 202 206 215
您還可以使用 Perl 正則表達式和 grep
grep -oP '(?<=time\=).*' pingoutput