如何使用awk或sed打印彼此相邻的两条线?

时间:2017-08-03 21:47:12

标签: linux shell scripting

我知道我可以使用awk 'NR==10' < 1.txt打印第10行文本文件。

我如何格式化::

第10行::第14行

第11行::第15行

第16行::第18行

我对awk或sed都很满意。请帮帮忙?

1 个答案:

答案 0 :(得分:2)

您可以使用awk

awk 'NR ~ /^1[016]$/{a[NR]=$0} NR==14||NR==15{print a[NR-4] " : " $0} 
     NR==18{print a[NR-2] " : " $0}' file

Line 10 : Line 14
Line 11 : Line 15
Line 16 : Line 18

文件在哪里:

cat file

Line 1
Line 2
Line 3
Line 4
Line 5
Line 6
Line 7
Line 8
Line 9
Line 10
Line 11
Line 12
Line 13
Line 14
Line 15
Line 16
Line 17
Line 18
Line 19
Line 20