表 - 替换列的值

表 - 替换列的值

我有几个表(制表符分隔),其中第一列如下:

MONTH
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00
0.00

我想用实际月份值替换这些值,如下所示:

MONTH
1
2
3
4
5
6
7
8
9
10
11
12

答案1

使用awk“line number-1”替换第一个字段将适用于您的示例案例

$ awk 'BEGIN {FS="\t" ; OFS="\t" } NR>1 { $1=NR-1} { print}'

例如

$ cat x
MONTH   DATA
0.00    something
0.00    data
0.00    here
0.00    blah
0.00    blah
0.00    blah
0.00    blah
0.00    blah
0.00    blah
0.00    blah
0.00    blah
0.00    blah

$ awk 'BEGIN {FS="\t" ; OFS="\t" } NR>1 { $1=NR-1} { print}' x
MONTH   DATA
1       something
2       data
3       here
4       blah
5       blah
6       blah
7       blah
8       blah
9       blah
10      blah
11      blah
12      blah

相关内容