我目前正在编写一个脚本,显示我下一次从地铁站出发的离开。
我有一个模式(\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中的正则表达式和内置工具,或者为这个问题找到解决方法会更好吗?
提前致谢!
答案 0 :(得分:0)
执行此操作 -
echo '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' | gawk 'BEGIN {
FS="\n"
RS=""
}
$4 != "Westbound" {
print
}'
- 生成以下输出 -
5
Ringen via Storo
12 min
Eastbound
5
Vestli via Majorstuen
16:11
Eastbound