001、grep实现
(base) [root@pc1 test2]# ls a.txt (base) [root@pc1 test2]# cat a.txt ## 测试数据 1 2 keyword 3 4 5 keyword 6 7 8 (base) [root@pc1 test2]# grep "keyword" -A 2 a.txt ## 输出匹配字符后面的两行 keyword 3 4 -- keyword 6 7
002、sed实现
(base) [root@pc1 test2]# ls a.txt (base) [root@pc1 test2]# cat a.txt ## 测试数据 1 2 keyword 3 4 5 keyword 6 7 8 (base) [root@pc1 test2]# sed -n '/keyword/,+2p' a.txt ## 输出匹配字符后面的两行 keyword 3 4 keyword 6 7
003、awk实现
(base) [root@pc1 test2]# ls a.txt (base) [root@pc1 test2]# cat a.txt ## 测试数据 1 2 keyword 3 4 5 keyword 6 7 8 ## 输出匹配字符及其后的两行 (base) [root@pc1 test2]# awk '{if($0 ~ /keyword/) {idx = "yes"; tmp=NR}; if(NR <= tmp + 2 && idx == "yes") {print $0}}' a.txt keyword 3 4 keyword 6 7