我有一个带模式的文件:
START_BIT_VAL somedata
somedata
START_BIT_VAL somedata
somedata
START_BIT_VAL somedata
SOMEDATA
我想用以下代码替换此模式:
START_BIT_VAL_0 somedata
somedata
START_BIT_VAL_1 somedata
somedata
START_BIT_VAL_2 somedata
SOMEDATA
应在匹配的模式之后附加实例的出现。
这是我迄今为止所做的尝试:
perl -lne 'END {print $cnt } map ++$cnt, s/START_BIT_VAL/START_BIT_VAL_$cnt/g' <file_name>
问题是我只是将输出作为数字,但没有发生替换。
答案 0 :(得分:1)
使用awk:
awk 'BEGIN {c=0} {if ($1=="START_BIT_VAL") {$1=$1c; c++}; print}' file
输出:
START_BIT_VAL0 somedata somedata START_BIT_VAL1 somedata somedata START_BIT_VAL2 somedata SOMEDATA