awk添加行#skipping header

时间:2016-08-01 14:02:28

标签: awk

我试图在使用awk跳过标题的每一行之前添加一个行号。但是,以下似乎是删除标题并在2处开始行号。我接近了吗?谢谢你:)。

输入

Chr Start   End Gene
chrX 110961329 110961512 ALG13
chrX 110987885 110988142 ALG13

AWK

awk 'NR>1{print NR, $0}' input

当前输出

2 chrX 110961329 110961512 ALG13
3 chrX 110987885 110988142 ALG13

所需的输出

1 chrX 110961329 110961512 ALG13
2 chrX 110987885 110988142 ALG13

3 个答案:

答案 0 :(得分:3)

如果您在行号中,则只是打印> 1。

相反,当它大于1时,加上NR;然后,说NS,以便打印所有行:

1

答案 1 :(得分:2)

即使数字行为1

,也应打印输出
$ awk 'NR==1{print $0} NR>1{print NR-1, $0}' input

Chr Start   End Gene
1 chrX 110961329 110961512 ALG13
2 chrX 110987885 110988142 ALG13

答案 2 :(得分:1)

awk '{print (NR>1 ? NR-1 OFS : "") $0}' file