[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [shell-script] Substituindo linha com sed
From: |
Paulo Bettega |
Subject: |
Re: [shell-script] Substituindo linha com sed |
Date: |
Mon, 07 Jul 2014 23:41:19 -0300 |
User-agent: |
Mozilla/5.0 (X11; Linux i686; rv:24.0) Gecko/20100101 Thunderbird/24.6.0 |
Olá arkan , o char 36 acho que é a barra etc/sfs,
o sed enxerga s/// nesse caso como s/^IPADDRESS1=.*/IPADDRESS1=`cat /
Tem que escapar as barras do caminho, ou então usar outro delimitador
que não precise ser escapado.
$ sed 's/^IPADDRESS1=.*/IPADDRESS1=`cat \/etc\/sfs\/hostname.info | head -n 1`/' <<<'IPADDRESS1=`cat
/etc/sfs/hostname.info`'
IPADDRESS1=`cat /etc/sfs/hostname.info | head -n 1`
$ sed 's:^IPADDRESS1=.*:IPADDRESS1=`cat /etc/sfs/hostname.info | head -n 1`:' <<<'IPADDRESS1=`cat
/etc/sfs/hostname.info`'
IPADDRESS1=`cat /etc/sfs/hostname.info | head -n 1`
Abraços Paulo Bettega
On 07-07-2014 23:21, address@hidden [shell-script] wrote:
Boa noite senhores. Me deparei com uma questão aqui que após algumas horas
tentando, não consegui
resolver.
Basicamente é uma substituição de linha que não quer funcionar.
Tenho uma linha com o seguinte conteúdo:
IPADDRESS1=`cat /etc/sfs/hostname.info`
Preciso substitui-la para:
IPADDRESS1=`cat /etc/sfs/hostname.info | head -n 1`
O problema acontece quando tento realizar esta modificação com o comando:
sed -i 's/^IPADDRESS1=.*/IPADDRESS1=`cat /etc/sfs/hostname.info | head -n 1`/'
createCsa
Recebo este erro:
sed: -e expression #1, char 36: unknown option to `s'
Tentei de outras formas, em algumas o comando executava a linha e gravava o
valor e em outras era o
este erro que aparecia.