2015-07-31 4 views
0

Я использую Nerdtool on и iMac под управлением OSx 10.6.8 и написал код для получения отчета о погоде и отображения его на рабочем столе. Как удалить текст после последнего периода, начинающегося с «Выпущено?»? Вторая проблема, которую я заметил, это то, что текст, возвращаемый, имеет «пробел» перед первым символом. Мне бы тоже хотелось. Ниже приведена команда и вывод, который я получаю с помощью терминала. Спасибо.как удалить текст после последнего периода

Команда:

curl --silent "http://weather.gc.ca/rss/city/on-137_e.xml" | grep -E '(Weather Forecasts:|</summary)'| head -3 | sed -e 's/<summary type=\"html\">//' -e 's/<\/summary>//' -e 's/]]> //' -e 's/No watches or warnings in effect. //' 

Выход:

Солнечное утро, то сочетание солнца и облака с 40-процентной вероятностью ливней во второй половине дня. Опасность грозы сегодня днем. Ветер становится западным 20 км/ч сегодня днем. Высокий 29. УФ-индекс 8 или очень высокий. Прогноз выпущен 05:00 утра EDT Пятница 31 июля 2015

+0

это очень широка. Предоставьте репрезентативный образец ввода, четко определите, каков ваш желаемый результат и покажите - также четко - то, что вы пробовали. Вы можете прочитать [ask]. – fedorqui

+0

Вы также можете посмотреть «Что делать, если кто-то отвечает на мой вопрос?»: Http://stackoverflow.com/help/someone-answers – Qualia

+0

@fedorqui. Я думаю, что я четко изложил свои цели, когда, предоставляя как мой код, так и полученный им результат. Быстрый и точный ответ Натана, я думаю, поддерживает это. – Irvin

ответ

0

Вы уже знаете, как использовать sed s, чтобы удалить текст. Вы можете настроить таргетинг на фронт линии ^, а конец линии - $. Таким образом, вы можете удалить пробелы в начале с: -e 's/^ //' И удалить Forecast issued до конца строки с: -e 's/ Forecast issued.*$//'

+0

Еще раз спасибо! это сработало красиво! – Irvin

Смежные вопросы