Gabor Tusnady <t...@enzim.hu> írta, 2010.03.29.:
> Kedves Lista!
>
> Valami nagyon egyszerut szeretnek csinalni:
>
> Van egy file-om amiben kulonbozo valtozok vannak definialva:
>
> file1:
> alma=1
> korte=3
> ...
>
> Van egy masik file-om, amibe meg ezek a valtozok valamilyen modon
> szerepelnek:
>
> file2:
> Van $alma db almam es
> $korte db kortem.
>
>
> Hogyan tudom bash scrittel eloallitani azt a file-t, amiben a file2-ben
> levo valtozokat a file1-ben szereplo ertekekkel helyettesiti?
>
> eredmeny_file:
> Van 1 db almam es
> 3 db kortem.
>
> es persze a file2 semmilyen mas modon ne valtozzon (pl tabulatorok,
> extra karakterek stb megmaradjanak)

Nem próbáltam ki, de elindulásnak jó lehet: file1-ből generálsz egy
scriptet, ami sed parancsokkal lecseréli a változókat, valahogy így:
sed 's,\(.*\)=\(.*\),%s/\\$\1/$2/g,' <file1 >sed.sh

Ettől valahogy úgy kellene kinéznie a sed.sh-nak, hogy
%s/\$alma/1/g
%s/\$korte/3/g

Utána
bash ./sed.sh <file2

Meg lehet oldani egy generált sed paranccsal is, meg talán egyetlen
parancssorral is.
_________________________________________________
linux lista      -      linux@mlf.linux.rulez.org
http://mlf2.linux.rulez.org/mailman/listinfo/linux

válasz