Pode ser mais fácil usar perl
para isso:
$ perl -pe 's/(\d+)/$1+1/eg' foo
ami22 ami66
ami68 ami67
ami89 ami77 ami30
ami56
ami55
ami33
-
-pe
: percorre o arquivo, linha por linha, imprimindo cada linha depois de avaliar a expressão -
s/(\d+)/$1+1/e
: corresponde um número (\d+
) e substitui por seu incremento ($1+1
), come
sendo usado para dizer ao Perl para avaliar a substituição.
Com awk
, você precisa incluir o espaço em branco no separador de registro:
$ awk -v RS='[[:space:]]*ami[[:space:]]*' '$0{$0++;}{ORS=RT}1' foo
ami22 ami66
ami68 ami67
ami89 ami77 ami30
ami56
ami55
ami33