shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Problemas de sed com variavel de shell


From: Renato de Oliveira Diogo
Subject: Re: [shell-script] Problemas de sed com variavel de shell
Date: Tue, 18 Nov 2008 11:30:44 -0200

Olá pessoal

vlw pela ajuda... das opções que vcs me passaram adotei o parametro do
"sed-only"

Obrigado pela ajuda

________________________________________________
Renato de Oliveira Diogo

Bacharel em Ciência da Computação
UNESP - Bauru

Certificado com LPIC-1

address@hidden
address@hidden



2008/11/18 jimmy <address@hidden>:
> On Mon, Nov 17, 2008 at 06:39:28PM -0200, Renato de Oliveira Diogo wrote:
>> Senhores
>>
>> boa tarde
>>
>> estou fazendo um pequeno script substituição de uma string por outra
>> (complementação). Porém estou tendo problemas em montar corretamente o
>> script do sed, pelo motivo que o conteúdo das minhas variáveis tem
>> pontos e barras não sei se o sed está tratando isso como metacaracter:
>>
>> so para entender, tenho um nome de arquivo 10.168.192.in-addr.arpa.db,
>> dele capturo a linha
>> file "10.168.192.in-addr.arpa.zone";
>> e quero substituir a mesma por:
>> file "slaves.rev/10.168.192.in-addr.arpa.zone";
>>
>>
>>
>> for I in $( ls );
>> do
>> zone=`grep file $I | cut -d\" -f2`;
>> # echo $zone
>> sed -e s/"$zone"/"slaves.rev//$zone"/ $I;
>> done
>>
>> Quando executo o trecho acima, da o erro:
>> sed: -e expression #1, char 43: unknown option to `s'
>> Obs.: não é as barras duplas, pois ja deixei somente com uma e nao deu na
>> mesma.
>>
>> Alguem pode me dar uma luz?
>>
>> []s
>> ________________________________________________
>> Renato de Oliveira Diogo
>>
>> Bacharel em Ciência da Computação
>> UNESP - Bauru
>>
>> address@hidden
>> address@hidden
>>
>> ------------------------------------
>
> talvez uma abordagem diferente resolva melhor o problema:
>
> zone='file "slaves.rev/10.168.192.in-addr.arpa.zone";'
> sed "/file/{s#.*#$zone#}" *
>
> ou numa linha só:
>
> $ sed '/file/{s#.*#file "slaves.rev/10.168.192.in-addr.arpa.zone";#}' *
>
> 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]