我想做以下事情:
找到模式1,然后找到模式2的第一个实例。这样做之后,我想打印下一行。这是一个sed脚本。我很失落如何做到这一点,因为sed没有if语句。
答案 0 :(得分:1)
这可能适合你(GNU sed):
sed -n '/first/,${/second/{n;p;q}}' file
设置-n
选项以模拟grep,即只打印您想要的内容。关注从first
到文件末尾($
)的范围。然后匹配second
并获取下一行(n
),打印(p
)并退出(q
)。
答案 1 :(得分:0)
如果文件名 j.txt 包含以下内容:
10 20 30
40 50 60
10 90 80
sed -n '/10/p' j.txt | sed -n '/20/,+1p'
首先它将搜索pattern1( 10 )然后它将搜索pattern2( 20 )并打印相应的下一行与内容匹配行
输出将是:
10 20 30
10 90 80