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."
------------------------------