我计划从网站的最后一行数据中提取单个字段的数据来填充 RRD 数据库。我正在运行 Linux。
该网站是:http://www.ogimet.com/cgi-bin/getsynop?begin=201309250000&block=03895(是机场气象数据)。
问题:我可以tail
使用直接地从网站读取最后一行数据,还是需要使用另一个实用程序读取数据,然后使用它tail
来获取最后一行?awk
从该行中分离出第 n 个数据字段的最佳实用程序是什么?(我不熟悉 Perl)。
谢谢,奈杰尔。
答案1
您想禁用curl
显示网络数据的 stderr 输出,然后只需通过管道传输到tail
:
$ url="http://www.ogimet.com/cgi-bin/getsynop?begin=201309250000&block=03895"
$ curl "$url" 2>/dev/null | tail -n 1
03895,2013,11,28,15,00,AAXX 28154 03895 41450 82702 10090 20076 40342 56014 70252 885// 333 86613=
如果您愿意,可以省略2>/dev/null
—— 这对 来说无关紧要tail
,但看起来会更好。
答案2
不,tail 不会从网络读取,但 wget、curl 或 snarf 会。这些程序中的每一个都可以下载并保存远程文件或下载并打印到标准输出。然后 tail 和 awk(如果您知道它们可以很好地完成任务)就会发挥作用。