我有文本文件:
Line1 aaa
Line2 aaa
Line3 aaa
Line4 importan info about Linux
Line5 infoA
Line6 infoB
Line7
我想要显示包含单词“Linux”和另外两行的行。
关于第一部分很清楚:
cat textfile.txt |grep Linux
但是如何显示多两行呢?
答案1
使用-A
以下选项grep
:
cat textfile.txt | grep -A2 Linux
或不带cat
:
grep -A2 Linux textfile.txt
答案2
Awk
替代方法
$ awk '/Linux/ {print $0; for (i=1;i<=2;i++){ getline; print $0 } }' test-text-file.txt
Line4 importan info about Linux
Line5 infoA
Line6 infoB
或者按照 Pilot6 在评论中所建议的那样,你可以这样做
awk '/Linux/{x=NR+2}(NR<=x)' test-text-file.txt