LINUX.ORG.RU

Ответ на: комментарий от I_am_glad_to_see_you_again

Как вывести 1-ю строку после ряда последовательных операций?

Не понял. Что есть последовательные операции, тое сть, когда именно нужно вывести оригинальную 1ую строку?

bk_ ★★
()
Ответ на: комментарий от bk_

Несколько операций через точку с запятой, выделить из многострочного текста 1-ю строку.

I_am_glad_to_see_you_again
() автор топика
Ответ на: комментарий от I_am_glad_to_see_you_again

> q в конце можно вставить. А между операциями?
Вы же читали man sed?

Таким образом, 1{операция;операция;операция;p;q} проделает над 1-й строкой последовательные операции, выведет её на экран и завершится.

Или я не понял, что Вам нужно от sed?

AITap ★★★★★
()
Ответ на: комментарий от I_am_glad_to_see_you_again

Не знаю, у меня эта директива таки печатает первую строку, если та удовлетворяет pattern'у.

AITap ★★★★★
()
Ответ на: комментарий от I_am_glad_to_see_you_again

А зачем тебе именно это?

Работает же всё, как ты хотел:

$ printf "a1b2c3\ncde\n13\nt7y8\n" | sed -n '1{s/[^0-9]//g;p;q}'
123
$

Или тебе не это надо?

OldFatMan
()
Ответ на: комментарий от OldFatMan

Вставил в конце q.
Делаю консольный отчет о погоде за окном)))

#!/bin/sh
city="Volgograd"
country="Russia"
echo `curl -dump -s http://www.weather.com/weather/today/$city+$country+RSXX0117 | sed -e '/twc-forecast-temperature/!d; s/[^0-9]//g; s/[0-9]//; q' | awk '{printf("%d\n", ($1-32)*0.555555555556)}'` "°С"

I_am_glad_to_see_you_again
() автор топика
Ответ на: комментарий от I_am_glad_to_see_you_again

Скопировал. Записал в файл. Выполнил.

Вот что получилось:

$ ./wth.sh 
7 °С
$

Это то, что тебе надо или нет? Я никак не пойму.

OldFatMan
()
Ответ на: комментарий от I_am_glad_to_see_you_again

Меня вот что смущает: сейчас попробовал менять разные города России, а потом даже задал Лондон и Токио. И везде ответ один: 7 °С. Так не бывает, туфта какая-то... :)

OldFatMan
()
Ответ на: комментарий от OldFatMan

> сейчас попробовал менять разные города России

На всякий случай — менял только названия, или RSXX0117 тоже?

dexpl ★★★★★
()
Ответ на: комментарий от dexpl

Только названия. Я никогда раньше не работал с этим сайтом. RSXX0117 - это что-то типа кода геогр.зоны? Тоже менять надо?

OldFatMan
()
Ответ на: комментарий от I_am_glad_to_see_you_again

> Что за цифра, кстати? Раз уж ты вызвался знатоком

Не такой уж я и знаток — некоторое время назад немного покопался в доках на weather.com'е, когда у меня xcfe'шный погодный апплет работать не хотел. Насколько помню, это код области, погода которой интересует. Принцип распределения этих кодов я так и не понял, но на где-то на weather.com можно получить нужный для данной местности код по названию местности

dexpl ★★★★★
()
Ответ на: комментарий от I_am_glad_to_see_you_again

> ($1-32)*0.555555555556)

А это перевод из Фаренгейта в Цельсий что ли? Ну ты и сайт выбрал для «погоды в Volgograd». ;)

OldFatMan
()
Ответ на: комментарий от dexpl

Я тоже делаю по мотивам апплета xfce. Открыл исходники, там был указан этот сайт как источник информации о погоде. Вот и ковыряю.

I_am_glad_to_see_you_again
() автор топика
Ответ на: комментарий от dexpl

Теперь всё ясно. Потому, видимо, и выдаёт одинаковую температуру для всего шарика. Коды местностей соответствовать должны.

OldFatMan
()
Ответ на: комментарий от I_am_glad_to_see_you_again

Что парсингом - это я понял - не дурак (надеюсь). :)))

Имел в виду, что не только название города и страны знать надо, но и эти самые коды местностей RSXX0117 и т.д.

OldFatMan
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.