就像相反的,awk 'NR==2 {print ""} 1
在第一行下面添加一个新行并打印那里的任何内容。我无法NR==
用固定值替换后面的数字,因为我希望能够在文件中执行此操作,包括任意数量的行。我的意思是我想我可以做一些事情来计算行数,然后创建一个变量,它是倒数第二行的数字,但我不想“重新发明轮子”。
输入示例:
1
2
3
4
输出示例:
1
2
3
something added here
4
答案1
您可以延迟一行打印,然后使用一个END
块:
awk 'NR > 1 {print line} {line = $0} END {printf "%s\n%s\n", "something added here", line}'
我将当前行保存在 中line
,然后在下一次迭代中打印。END
因此,该块中line
是最后一行,尚未打印。
$ printf "%s\n" {1..4} | awk 'NR > 1{print line} {line = $0} END {printf "%s\n%s\n", "something added here", line}'
1
2
3
something added here
4