Странная работа regexp
olegon 4 мая, 2010 - 06:59
lynx -width=10000 -dump http://www.meteonova.ru/rss/27612.xml? | sed -e 's/^.*htm//'
выводит явно не первую строку :(
lynx -width=10000 -dump http://www.meteonova.ru/rss/27612.xml? | sed -e 's/^.*\?//'
который бы и хотелось бы использовать - вообще не работает.
Цель - вывести первую погодную строчку.
»
- Для комментирования войдите или зарегистрируйтесь
А смысл? Есть же куча софта,
А смысл? Есть же куча софта, которая погоду кажет.
Не грусти, товарищ! Всё хорошо, beautiful good!
Дело не в софте, который,
Дело не в софте, который, кстати, не каждый кажет в консоли и по русски, а в моем желании разобраться с sed и почему оно не работает.
http://olegon.ru
rsstail -d -n 1 -1 -u
rsstail -d -n 1 -1 -u http://www.meteonova.ru/rss/27612.xml | iconv -f cp1251 -t utf8
Не грусти, товарищ! Всё хорошо, beautiful good!
Спасибо за идею, но у меня
Спасибо за идею, но у меня уже бзик, почему не получается вырезать с начала строки до знака "?"
http://olegon.ru
Он вырезает нормально. Не
Он вырезает нормально. Не получается, потому-что линкс где-то поганит строку.
# echo "http://www.meteonova.ru Прогноз погоды по 12000+ городам России и мира 60 128 35 http://www.meteonova.ru http://www.meteonova.ru/images/minilogo.gif http://www.meteonova.ru/frc/27612.htm?1009962" |sed 's/^.*?//'
1009962
lynx -width=10000 -dump http://www.meteonova.ru/rss/27612.xml? |sed 's/[0-9]\{6,\}/\n/g' |head -n2 |tail -n1
olegon написал(а): Дело не в
Ну ежели для разбору полетов то можно и так ...
lynx -width=10000 -dump http://www.meteonova.ru/rss/27612.xml? | sed -n 1,1's/^.*htm?[0-9]\+ \(.*\) Погода МЕТЕОНОВА.*$/\1/p'
Правда это обычный grep
Зачем lynx? Почему не wget -O
Зачем lynx? Почему не
wget -O -
. А вообщеsed -r
, а не-e
, вроде бы.P.S. Also, сед парсит все строки и меняет только те, где есть совпадения (это если не увлекатся всякой буфферизацией и вообще sed-скриптингом). Если вы хотите первую строку - надо использовать
head
, если первую из совпадающих - (ещё и)grep
...NightNord написал(а): Also,
...или в явной форме указать
sed
'у к какой строке следует применить команду.:wq
--
Live free or die
Это либо жестко номер строки,
Это либо жестко номер строки, что некошерно, ибо через 2 минуты rss поменяется, либо уже с переходами, что выходит за пределы "простого" использования sed.