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=valorquasenulo > campo3=valorquesumiu > campo4=valorcorreto > > #depois do programa > campo1=valor1 > campo2=valorquasenulo > 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=valorquasenulo campo3=valorquesumiu campo4=valorcorreto faça um teste. -- "Não manejo bem as palavras Mas manipulo bem as strings." ------------------------------