linux 中awk 命令输出匹配字符及其下一行
001、
[root@PC1 test04]# ls a.txt [root@PC1 test04]# cat a.txt ## 测试数据 3333 gene 9999 kkkk gene 7777 8888 gene gene 0000 6666 ## 输出匹配字符及其下一行 [root@PC1 test04]# awk '{if($1 == "gene"){ print $0; tag = "yes"; key = "yes"; num = 0}; if($1 != "gene") {num++}; if($1 != "gene" && num == 1 && key == "yes") {print $0}}' a.txt gene 9999 gene 7777 gene gene 0000
002、
[root@PC1 test2]# ls a.txt [root@PC1 test2]# cat a.txt ## 测试数据 gene 9999 kkkk gene 7777 8888 gene gene 0000 6666 [root@PC1 test2]# awk '{if($1 == "gene") {print $0; idx = NR + 1}; if(NR == idx) {print $0}}' a.txt ## 提取匹配基因及其下一行 gene 9999 gene 7777 gene gene 0000