A solução do jimmy deu erro de sintaxe, e debugar awk (só por enquanto, espero) vai além do meu conhecimento!! :(
já a do Marvin pega o campo do arquivo temporário, mas quando escreve no arquivo, recria o arquivo apenas com os campos modificados, vide redirecionamento ">". E o sed também não é meu amigo... ainda!!! o sed não consegue escrever apenas as linhas modificadas sem redirecionamento???? Obrigado pela ajuda --- Em qui, 30/7/09, jimmy <[email protected]> escreveu: De: jimmy <[email protected]> Assunto: Re: [shell-script] arquivo campo-igual-valor Para: [email protected] Data: Quinta-feira, 30 de Julho de 2009, 9:13 On Thu, Jul 30, 2009 at 04:00:42AM -0700, denis costa wrote: > > > Bom dia a todos > > Estou desenvolvendo um programa que pega valores em um arquivo de > configuração "temporário", com o formato campo=valor. > > campo1=valor1 > campo3=valor3 > > e modifico o valor em um outro arquivo de configuração, caso o campo > exista no arquivo temporário: > > #antes do programa > campo1=valornulo > campo2=valorquasenu lo > campo3=valorquesumi u > campo4=valorcorreto > > #depois do programa > campo1=valor1 > campo2=valorquasenu lo > campo3=valor3 > campo4=valorcorreto > > E eu já demonstrei aqui na lista que não domino bem os processadores de > texto! ;p > Como faço isso com sed ou awk por exemplo????? ? > > Desde já abradeço a futura ajuda > Abraço > > ____________ _________ _________ _________ _________ _________ _ usando o gnu awk eu faria o seguinte: $ gawk -F= 'FILENAME==ARGV[ 1]{h[$1]= $2}FILENAME= =ARGV[2]{ if($1 in h){print $1 FS h[$1]}else{print} }' temp.txt conf.txt onde: $ cat temp.txt campo1=valor1 campo3=valor3 $ cat conf.txt campo1=valornulo campo2=valorquasenu lo campo3=valorquesumi u campo4=valorcorreto faça um teste. -- "Não manejo bem as palavras Mas manipulo bem as strings." ------------ --------- --------- ____________________________________________________________________________________ Veja quais são os assuntos do momento no Yahoo! +Buscados http://br.maisbuscados.yahoo.com [As partes desta mensagem que não continham texto foram removidas]
