Vamos modificar o valor da variável Size de 4 para 10 do arquivo abaixo supondo que esse arquivo é o /etc/biglinux
Position=3 Size=4 SizePercentage=100 Name=BigLinux |
Basta usar a seguinte linha na shell:
sed -i 's/^Size=.*/Size=15/' /etc/biglinux |
O ^Size= Especifica que é para alterar apenas a linha que começar com Size= o .* especifica que é para apagar toda a linha e o Size=15 é o que deve ser escrito no lugar do que estava antes.
O primeiro /etc/biglinux diz ao sed qual o arquivo que ele deve ler, e o -i diz que é para alterar esse mesmo arquivo e não apenas exibir na tela.
O sed aceita adicionar várias modificações em série, sem precisar salvar varias vezes, veja no exemplo:
sed -i 's/^Size=.*/Size=50/;s/^Name=.*/Name=Bruno/;s/^Position=.*/Position=55/' /etc/biglinux |
Espero que seja útil para vocês e se souberem de alguma forma mais simples que divulgue-a.
Agradeço ao Julio Neves que ajudou a melhorar esse script em sed que foi apresentado