我想从speedtest-csv cli中提取下载和上传速度结果

时间:2019-03-02 04:06:25

标签: linux bash csv

我只想从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

1 个答案:

答案 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

或结合tailawk,例如

$ tail -n1 ~/tmpd/file | awk '{ print $14, $15 }'