我只想从bash中提取上传和下载的速度测试。 我在csv(tab)文件上有3000 ++行,只想提取最后一行〜仅85.41和9.15。
2019-03-02 11:00:02 2019-03-02 11:00:30 ABC ISP XX.XX.XX.XXX TEST SERVER LONG NAME 302.20 88.641 85.41 9.15 http://www.speedtest.net/result/111111111.png
答案 0 :(得分:0)
只要每行具有相同数量的字段,awk
中的简单解决方案就是:
awk '{ print $14, $15 }'
例如,echo
行并将其通过管道传递到上面的awk
语句中,或者将其放入文件中并将其用作参数,您将拥有:
$ awk '{ print $14, $15 }' ~/tmpd/file
85.41 9.15
您可以按自己喜欢的任何方式格式化输出。如果file
有3000行,则对于这3000行,您将获得相同的字段输出。
如果只希望文件中“最后一行” 中的值(例如最后一行),则可以执行以下操作:
$ awk '{ a=$14; b=$15 } END { print a, b }' ~/tmpd/file
或结合tail
和awk
,例如
$ tail -n1 ~/tmpd/file | awk '{ print $14, $15 }'