Как удалить текст после последнего периода

Я использую Nerdtool и 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 по восточному поясному времени в пятницу, 31 июля 2015

1 ответ

Решение

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

Другие вопросы по тегам