Ainda abordando a alteração de arquivos de configuração utilizando como exemplo um arquivo com o seguinte conteúdo:
Position=3
Size=4
SizePercentage=100
Name=BigLinux
Quando o texto a ser modificado possui o caractere / é necessário adicionar uma contra barra para que ela não seja identificada como o fim de uma operação, então fica assim \/, porém não é pratico quando são muitas barras ou quando se usa uma variável que é um endereço, como /home/biglinux
Nesses casos utilizamos outro caractere, é possível utilizar qualquer caractere ASCII, eu escolhi o | por ser muito raro de ser usado.
No exemplo a seguir irá adicionar a linha Idade=99 em baixo da linha iniciada com Name=
sed '\|^Name=|{p;s|.*|Idade=99|;}' /etc/biglinux
Note que antes do primeiro | existe uma \ mas após ele basta incluir o | no lugar do que antes era a /
Agora o mesmo exemplo, porém a linha irá ficar em cima da linha começada com Name:
sed '\|^Name=|{h;s|.*|Idade=99|;p;x}' /etc/biglinux
SED - Como adicionar uma linha após ou anterior a outra e resolvendo o problema da /
BIGBRUNO
0
Comentários