【发布时间】:2016-08-09 22:05:37
【问题描述】:
我有一个包含多行文本的文件,类似于:
foo
1
2
3
bar
fool
1
2
3
bar
food
1
2
3
bar
到目前为止,以下给了我一个更接近的答案:
sed -n '/foo/,/bar/ p' file.txt | sed -e '$d'
...但是如果遇到“食物”或“傻瓜”之类的词,它会因为引入重复而失败。我想让上面的代码只匹配整个单词(即 grep -w),但插入 \b 开关似乎不起作用:
sed -n '/foo/\b,/bar/ p' file.txt | sed -e '$d'
我想打印“foo”之后的任何内容(包括第一个 foo)直到“bar”,但只匹配“foo”,而不是“foo1”。
【问题讨论】: