在特定行后添加文本

在特定行后添加文本

我有一个大文件,其中包含以下几行

abc_a
some lines
abc_b
some lines
abc_c
some lines
abc_d
some lines
abc_e
some lines
abc_f

我想在每次之后添加从 1 开始的数字增量ABC线像

abc_a1
some lines
abc_b2
some lines
abc_c3
some lines
abc_d4
some lines
abc_e5
some lines
abc_f6

可以用 sed 或 awk 吗?

答案1

awk

awk '/^abc/ { $0 = $0 (++a) } 1' file

perl

perl -lpe '/^abc/o and s/$/++$a/e' file

或者

perl -lpe '/^abc/o and $_ .= ++$a' file

vim

:let a=1
::g/^abc/ s/$/\=a/ | let a+=1

相关内容