如何在上一段时间后删除文本

时间:2015-07-31 14:53:54

标签: string sed grep geektool

我正在使用Nerdtool和运行OSx 10.6.8的iMac,并编写了一些代码来获取天气报告并将其显示在我的桌面上。如何在" Forcast已发布"?开头的最后一段时间后删除文本我注意到的第二个问题是返回的文本有一个空格'在第一个角色面前。我也喜欢那样。 下面是我使用Terminal获得的命令和输出。 感谢。

命令:

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或非常高。 2015年7月31日(星期五)美国东部时间上午05:00发布预测

1 个答案:

答案 0 :(得分:0)

您已经知道如何使用sed s删除文字。您可以使用^定位行的前面,使用$定位行的末尾。所以你可以删除开头的空格: -e 's/^ //' 并将Forecast issued删除到该行的末尾,其中包含: -e 's/ Forecast issued.*$//'