Fala Paulo,
A sintaxe dos UNIXes precisa de uma barra invertida e o GNU sed, teoricamente tb. Suponha que depois do número
4 eu queira inserir um <TAB>4,5. Então:
$ seq 5 | sed '4a \\t4,5'
1
2
3
4
4,5
5
Blz! Este caso aparentemente bate com o que vc falou, mas se fizer:
$ seq 5 | sed '4a \t4,5'
1
2
3
4
t 4,5
5
Neste caso a contrabarra não serviu para nada pois não foi entendida como <TAB>, para manter a compatibilidade
com o UNIX. Ne entanto se eu quiser botar um monte de brancos antes do 4,5, olha o que vou testar:
$ seq 5 | sed '4a 4,5' # Um monte de brancos antes do 4,5
1
2
3
4
4,5
5
Já se eu usar uma contrabarra, que não é para escapar nada, já que o cmd está
entre apóstrofos:
$ seq 5 | sed '4a\ 4,5' # Um monte de brancos antes do 4,5
1
2
3
4
4,5
5
Aí sim, funciona mas o UNIX ainda não entende essa sintaxe. Fazendo o mesmo sem a contrabarra, até no GNU sed
dá zebra, veja:
$ seq 5 | sed '4a
> 4,5'
sed: -e expressão #1, caractere 18: Falta especificar um comando ao endereço
Então, prefiro usar a sintaxe do UNIX, que acho mais elegante, de mais fácil visualização e que mantem a
compatibilidade:
$ seq 5 | sed '4a\
4,5'
1
2
3
4
4,5
5
Abraços,
Julio
*» Não tem tempo para fazer um curso presencial?*
*» Na sua cidade não tem nenhum bom curso de Linux?*
*» **Conheça nosso portal educacional e estude conosco: *
* http://www.dicas-l.com.br/educacao <http://www.dicas-l.com.br/educacao/>*
*Também damos treinamento em sua empresa*
*em qualquer cidade**, **com certificado **e nota fiscal.*
*
*
Em qui, 20 de jun de 2019 às 16:21, Paulo address@hidden <mailto:address@hidden> [shell-script]
<address@hidden <mailto:address@hidden>> escreveu:
__
Depois de apanhar bastante na Vbox do FreeBSD parece que precisa de
duas barras invertidas e a opção -e também. A quebra de linha é literal.
sed -e '/end1/,/end2/{/end2/a\\
texto' -e '}' arq
Abraços Paulo
On 20/06/2019 10:04, address@hidden <mailto:address@hidden> [shell-script]
wrote:
> Opa, pessoal, obrigado pela ajuda.
>
>
> A solução do Fredi funcionou no meu linux mas infelizmente não rodou no
meu servidor que é freebsd.
>
> Fredi, poderia me explicar o que você fez nesse sed.
>
>
> ----------------------------------------------------------
> Enviado por: address@hidden <mailto:address@hidden>
> ----------------------------------------------------------
--------------------------------------------------------------------------------------------------------------
Enviado por: "Julio C. Neves" <address@hidden>
--------------------------------------------------------------------------------------------------------------