Moin Dieter,
Am Sun, 29 Aug 2010 12:24:08 +0200 schrieb "Dieter Kluenter" dieter@dkluenter.de:
ich stehe heute auf dem Schlauch, folgendes Problem:
- eine Userdatei mit 3 Spalten und n Zeilen
- eine Textdatei mit Standardtext
Es sollen nun aus der Userdatei die drei Variablen pro Zeile in die Textdatei eingefügt werden, als output werden dann n Textdateien erstellt.
nen schneller Denkanstoß:
3 Dateien:
1. db.txt -> enthält die Daten fritz geheim fritz@web.de klaus passwort klaus@gmx.de monika baum monika@t-online.de willi maja willi@1und1.de
2. template.txt -> enthält den Standardtext Hallo %NAME%,
deine Mailaddy lautet: %MAIL% Passwort: %PW%
Gruß und Kuss dein Julius
3. text.sh -> Das Skript #!/bin/bash
cat db.txt | while read i; do
name=`echo $i | awk '{ print $1 }'` pw=`echo $i | awk '{ print $2 }'` mail=`echo $i | awk '{ print $3 }'` echo $name " -> " $pw " -> " $mail
sed -e "s|%NAME%|$name|g" template.txt > $name.txt sed -i -e "s|%PW%|$pw|g" $name.txt sed -i -e "s|%MAIL%|$mail|g" $name.txt
done
Liest aus der db.txt name/pw/mail und erstellt ein $name.txt in der die Variablen ersetzt werden. Kann man bestimmt eleganter lösen, aber das viel mir jetzt so auf die schnelle ein. ;)
Detlef