在文件中找到的每行的增量(第1)个数

时间:2015-09-02 15:54:21

标签: linux bash awk sed increment

我需要使用awk / sed / ...将数字增加到文件中。

文件:

step0=action_a
step1=action_b
step2=action_c

输出:

step1=action_a
step2=action_b
step3=action_c

我试过了:

awk '/step/{ $2=$2+1 }' file

但步骤编号不会增加。

2 个答案:

答案 0 :(得分:2)

在类似的问题上使用Ed Morton's answer,您可以这样做:

$ awk -F'[^[:digit:]]+' '{sub(/[[:digit:]]+/,$2+1)}1' file
step1=action_a
step2=action_b
step3=action_c

这将替换匹配数加1的第一个数字(即数字序列)。

答案 1 :(得分:1)

awk肯定可以做到。但是,使用vim,您的问题可以很容易地解决。

vim -c "%norm! ^A" file

^ACtrl-V Ctrl-A

然后检查vim中已更改的文本,如果您满意,则按:wq保存文件并退出。

如果这不是您要找的答案,请告诉我,我会删除答案。