【问题标题】:how do I delete text after last period如何在最后一个时期后删除文本
【发布时间】:2015-10-23 07:28:22
【问题描述】:

我在运行 OSx 10.6.8 的 iMac 上使用 Nerdtool,并编写了一些代码来获取天气报告并将其显示在我的桌面上。我如何删除最后一个以“预测已发布”开头的文本?我注意到的第二个问题是返回的文本在第一个字符前面有一个“空格”。我也希望它消失。 下面是我使用终端获得的命令和输出。 谢谢。

命令:

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 发布

【问题讨论】:

  • 这个范围很广。提供有代表性的样本输入,清楚地定义您想要的输出,并清楚地展示您尝试过的内容。您可能想阅读How to Ask
  • 您可能还想看,“当有人回答我的问题时,我该怎么办?”:stackoverflow.com/help/someone-answers
  • @fedorqui。我想我清楚地说明了我的目标,提供了我的代码和它产生的输出。我认为 nathan 快速准确的回复支持了这一点。

标签: string sed grep geektool


【解决方案1】:

您已经知道如何使用sed s 删除文本。您可以使用^ 定位行首,$ 定位行尾。所以你可以删除开头的空格: -e 's/^ //' 并将Forecast issued 删除到行尾: -e 's/ Forecast issued.*$//'

【讨论】:

    猜你喜欢
    • 2014-09-08
    • 1970-01-01
    • 2016-07-24
    • 2021-09-25
    • 1970-01-01
    • 2015-07-04
    • 1970-01-01
    • 1970-01-01
    • 2014-09-15
    相关资源
    最近更新 更多