查找与子字符串匹配的行,然后打印该行和以下内容

Find line that matches a substring, then print THAT line and the following

我试图在文件中找到包含字符串 7KFF_1 的行。我想打印它所在的行和紧随其后的行。我试过了,但我不确定哪里出错了

awk '/7KFF_1/ { header = [=10=]; next } { print header"\n"[=10=] }' sample.txt

注意!我不想在比赛结束后打印 n 行!我想要进行匹配的当前行和之后的行。

试试这个:

sed -n '/pattern/,$p' YOUR_FILE | head -2

第一部分打印模式后的所有行,然后将其通过管道传输到 head -2 打印包含您的模式的行和下一行。

使用旗帜。如果设置了标志,则打印该行(在匹配后打印该行)。然后根据当前行是否匹配分配标志。如果设置了标志,则打印(打印匹配的行。)

awk 'f; {f = /7KFF_1/}; f' sample.txt

您可以将其简化为:

awk 'f; f = /7KFF_1/' sample.txt

但我认为这对于最初的演示来说有点太晦涩了。

grepsed 如果适用?

grep -A1 '7KFF_1' file

将在 之后打印行和 1 行,

sed -n '/7KFF_1/{N;p}' file