nl adiciona o sufixo de números se a correspondência de regex?

0

Se eu tiver um arquivo de texto dizendo isso:

Xgrep () { something ; }  

Xgrep
Xgrep
Xgrep
Xgrep
Xgrep

Eu quero que pareça com isso

Xgrep () { something ; }  

Xgrep 12
Xgrep 13
Xgrep 14
Xgrep 15
Xgrep 16

Significado Eu quero escolher em qual número começar, com sufixos em vez de prefixos com um espaço entre ( -s " " para um espaço entre). Eu pensei que eu poderia usar nl para isso, mas lendo a man page, não parece. Eu tentei isso:

nl -b pexpr=Xgrep -s " " ~/desktop/test.txt

No entanto, isso só coloca isso:

    Xgrep
    Xgrep
    Xgrep
    Xgrep
    Xgrep

O que provavelmente é porque a sintaxe da regex está errada, mas não consegui encontrar uma maneira de ela corresponder, todas as outras formas de listar o uso.

Este site é exatamente o que eu estou tentando fazer, mas na forma de linha de comando e somente com sufixo de números.

    
por DisplayName 03.10.2015 / 17:55

1 resposta

1
% perl -ple 'BEGIN{$i=12} s/^(Xgrep)\s*$/"$1 ".$i++/e' < in
Xgrep () blah

Xgrep 12
Xgrep 13
Xgrep 14
Xgrep 15
Xgrep 16
Xgrep 17
% 

Imprima linhas, INICIE o contador, combine Xgrep e coloque o número incrementado no final. Substitua < in pelo nome do arquivo e adicione -i flag ao arquivo clobber no local, se desejado. Uma solução awk provavelmente será muito parecida.

    
por 03.10.2015 / 18:12

Tags