Olá Denis, tudo bom? Cara, nos meus testes o arquivo foi recriado com todos os campos do arquivo original, mas com os valores dos parametros especificados trocados.
Como ficou o script que vc criou? Att, Marvin Lemos 2009/7/30 denis costa <[email protected]> > > > 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] <jimmy.tty%40gmail.com>> > escreveu: > > De: jimmy <[email protected] <jimmy.tty%40gmail.com>> > Assunto: Re: [shell-script] arquivo campo-igual-valor > Para: [email protected] <shell-script%40yahoogrupos.com.br> > 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] > > > [As partes desta mensagem que não continham texto foram removidas]
