Use tanto uma variável quanto uma nova linha no BSD sed?

1

Eu posso fazer isso por exemplo

sed 's/\>\</\>\
</g'

Para substituir >< por

>
<

No entanto, digamos que eu queira uma variável, como esta:

 sed 's/\>\</\>\
<$1/g'

Ele irá interpretá-lo como literalmente $1 . Para corrigir isso, eu uso " em vez de ' .

Assim:

sed "s/\>\</\>\
<$1/g"

Mas não entende a nova linha quando uso " . \n também não funciona.

    
por DisplayName 12.12.2015 / 01:29

1 resposta

2

Não tenho certeza de qual mistério de citação está por trás disso, mas se as aspas simples ajudarem com a nova linha, você poderá misturar e combinar aspas duplas para a variável:

sed 's/></>\
<'"$1/g"
    
por 12.12.2015 / 02:06

Tags