【发布时间】:2016-09-06 14:44:48
【问题描述】:
我目前正在制作一个脚本,它将显示从我旁边的地铁站出发的下一班次。
我有一个模式(\b\d$|Westbound) 将捕获行号和方向。但是,如何删除两者之间的线条?搜索它并没有给我任何结果。
考虑输出:
5
Ringen via Storo
12 min
Eastbound
4
Vestli via Storo
16:10
Westbound
5
Vestli via Majorstuen
16:11
Eastbound
5
Ringen via Majorstuen
16:12
Westbound
格式为:
Line
Name of line
Time
Direction
问题是,有没有什么方法可以使用 sed 过滤掉所有行,比如 Westbound,以便打印的唯一行是:
5
Ringen via Storo
12 min
Eastbound
5
Vestli via Majorstuen
16:11
Eastbound
这意味着删除以 5 开头并以 Westbound 结尾的任何文本段。这是否可以通过正则表达式和 bash 中的内置工具实现,或者最好找到解决此问题的方法?
提前致谢!
【问题讨论】:
-
好的,你很清楚你想做什么,我建议你尝试实际去做。 StackOverflow 不是人们为您实施程序的地方,而是您实施程序的地方,当您有特定问题时人们会帮助您。
-
上述输出是由你编写的脚本产生的吗?如果是这样,为什么不修改该脚本?
-
Regex 可能是此处解决方案的 part,但我认为您需要一个额外的工具来阅读和处理每个段落。也许 sed 可以做到这一点,Java 和 C# 肯定可以。
-
stackoverflow.com/questions/16202900/… 可能是您的解决方案
-
/.*\n.*\n.*\nWestbound\n*/?