Incremento serial nomeado SED oneliner

2

Eu preciso incrementar o named serial e eu quero fazer isso com sed. Eu fiz assim:

echo 2015092315 | gsed s/20[0-9][0-9][0-9][0-9]*/'date +%Y%m%d%H'/g

Mas percebi que as atualizações para o arquivo de zona podem acontecer mais de uma vez por hora e isso acima não será suficiente.

Agora quero incrementar o serial em 1. Como fazer isso? Eu criei um:

gsed 's/20[0-9][0-9][0-9][0-9]*/expr & + 1/e'

que funciona mas apaga o início da linha (espaços) e o fim da linha (comentário), e dá erro sobre um comentário (sh: serial: not found) que eu não quero.

    
por czbg 23.09.2015 / 18:18

1 resposta

3

Perl para o resgate:

perl -pe 's/(20[0-9]{3,})/$1+1/e' file
    
por 23.09.2015 / 18:29

Tags