Citações em sed quando usadas no script bash

0

Estou gerando a expressão sed no script Bash e estou com um problema a seguir.

Eu quero adicionar um espaço na frente de cada aparência de abc.

Este comando funciona como esperado

echo abc | sed -e "s/abc/ def/"

saída é "def " sem aspas

considerando que isso comanda

Q='-e "s/abc/ def/"'
echo abc | sed $Q

saídas sed: -e expressão # 1, char 1: comando desconhecido: '"'

Fora do script bash, tudo funciona.

Eu tentei todas as formas possíveis de aspas, escapando de personagens, mas não consegui descobrir. Alguém pode me ajudar?

    
por Bogi 19.08.2015 / 17:04

1 resposta

0

Use uma matriz de opções, não uma única:

Q=( -e "s/abc/ def/" )
echo abc | sed "${Q[@]}"
    
por 19.08.2015 / 17:07

Tags