如何使用bash在单词后匹配带有换行符的文本



我需要在bash中的单词匹配之后匹配文件的末尾。我有一个像这样的文本:

line 1
line 2
line 3
key line
line 5
line 6

我假装得到了"关键行"之后的所有内容,所以我的输出将是:

line 5
line 6

我如何使用bash来做这个?我试过grep -o -P '(?<=key linen)[sS]*',但它没有工作,虽然它在https://regexr.com/

测试工作

grep是基于行的。当你想跨行搜索时,它不太好用。

sed可以胜任这项工作。这将d1行删除到包含key line的行,只留下它后面的行:

$ sed '1,/key line/d' test.txt
line 5
line 6

相关内容

  • 没有找到相关文章

最新更新