Странная работа regexp

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 и почему оно не работает.

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!

Спасибо за идею, но у меня

Спасибо за идею, но у меня уже бзик, почему не получается вырезать с начала строки до знака "?"

Он вырезает нормально. Не

Он вырезает нормально. Не получается, потому-что линкс где-то поганит строку.
# 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 написал(а): Дело не в

olegon написал(а):
Дело не в софте, который, кстати, не каждый кажет в консоли и по русски, а в моем желании разобраться с sed и почему оно не работает.

Ну ежели для разбору полетов то можно и так ...
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,

NightNord написал(а):
Also, сед парсит все строки и меняет только те, где есть совпадения (это если не увлекатся всякой буфферизацией и вообще sed-скриптингом). Если вы хотите первую строку - надо использовать head, если первую из совпадающих - (ещё и) grep...

...или в явной форме указать sed'у к какой строке следует применить команду.

:wq
--
Live free or die

Это либо жестко номер строки,

Это либо жестко номер строки, что некошерно, ибо через 2 минуты rss поменяется, либо уже с переходами, что выходит за пределы "простого" использования sed.

Настройки просмотра комментариев

Выберите нужный метод показа комментариев и нажмите "Сохранить установки".