查找与子字符串匹配的行,然后打印该行和以下内容
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
但我认为这对于最初的演示来说有点太晦涩了。
grep
或 sed
如果适用?
grep -A1 '7KFF_1' file
将在 之后打印行和 1 行,
sed -n '/7KFF_1/{N;p}' file
我试图在文件中找到包含字符串 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
但我认为这对于最初的演示来说有点太晦涩了。
grep
或 sed
如果适用?
grep -A1 '7KFF_1' file
将在 之后打印行和 1 行,
sed -n '/7KFF_1/{N;p}' file