torr / awk: modifica o arquivo de origem?

1

Estou tentando fazer o script de algumas alterações que preciso fazer em alguns arquivos de configuração. Vale ressaltar que eu sou um expert com nem sed nem awk, embora eu seja muito melhor com sed.

Neste momento, estou fazendo:

sed '/setting.name/c setting.name: newvalue' </etc/foo.conf >tmpfile.tmp && mv tmpfile.tmp /etc/foo.conf

Mas certamente há uma maneira melhor? Talvez com o awk?

    
por Joe Fruchey 31.05.2013 / 14:02

1 resposta

3

Uma maneira melhor:

 sed -i.bak 's/Old Info/New Info/' file.cfg

Isso edita o arquivo no lugar, mas salva o original como 'name.cfg.bak'.

Se você sabe todas as coisas para mudar, provavelmente você quer que um script faça como:

 sed -i.bak -e 's/first setting/new first/' -e 's/next setting/new next/' -e 's/etc/new etc/' file.cfg
    
por 31.05.2013 / 15:44

Tags