我只想在匹配后打印两个空行之间的行。我的数据如下所示:
List A
Item 1
Item 2
Item 3
Item 4
Item 5
List B
Item 1
Item 2
Item 3
因此,我正在尝试使用 sed 或 awk 或 grep 命令来匹配列表 A 并获取
的输出Item 4
Item 5
到目前为止,我已经尝试过:
sed '/^$/,/^$/!d'
和
sed '/list\sA.*^$/,/^$/!d'
在这种情况下,我尝试打印范围并将第一个模式定义为字符串和包含的所有内容,直到空行。
我还尝试了其他代码:
awk -v RS='' -v ORS='\n\n'
但是,这只会给我包含模式的段落,我正在尝试获取之后的段落。
最后,我认为它是使用 sed -n
并将 { } 与标签一起使用的东西,但我还不够先进,无法将它们放在一起。如果您能指出正确的方向,我将不胜感激。
最佳答案
当你匹配一个模式时,用 getline
获取下一条记录:
$ awk -v RS='' '/List A/ {getline; print}' file
Item 4
Item 5
关于linux - 匹配模式后打印段落,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37937114/