Я планирую извлечь одно поле данных из последней строки данных на веб-сайте для заполнения базы данных 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 (который, если вы знаете, будет работать отлично) вступают в игру.