peace_maker
Cadet 4th Year
- Registriert
- Dez. 2010
- Beiträge
- 108
Hallo Leute,
ich bin dabei ein kleines Script zu schreiben und stecke gerade fest. Vielleicht kann mir jemand damit weiterhelfen.
Mein Script soll aus einer CSV-Datei=$1 (Geburtsdatum,Geschlecht,Anrede,Vorname,Nachname) herauslesen und ausgeben ob diese Person heute Geburtstag hat.
Ich habe nur das Problem, dass in meinen geschachtelten While-Schleifen sich die unterschiedlichen IFS (Internal Field Separator - genutzt zur Wörtertrennung) gegenseitig stören und ich diese leider nicht innerhalb der While-Schleifen unterbringen kann. Ich würde gerne wissen, ob es eine Möglichkeit gibt die IFS direkt der Schleife zuzuweisen.
Bin auch für andere Lösungsvorschläge offen.
Hab eine Lösung gefunden, man kann den IFS direkt in die While Schleife setzen und dadurch Schachtelungen richtug durchlaufen.
z.B.:
Gruß
peace_maker
ich bin dabei ein kleines Script zu schreiben und stecke gerade fest. Vielleicht kann mir jemand damit weiterhelfen.
Mein Script soll aus einer CSV-Datei=$1 (Geburtsdatum,Geschlecht,Anrede,Vorname,Nachname) herauslesen und ausgeben ob diese Person heute Geburtstag hat.
Ich habe nur das Problem, dass in meinen geschachtelten While-Schleifen sich die unterschiedlichen IFS (Internal Field Separator - genutzt zur Wörtertrennung) gegenseitig stören und ich diese leider nicht innerhalb der While-Schleifen unterbringen kann. Ich würde gerne wissen, ob es eine Möglichkeit gibt die IFS direkt der Schleife zuzuweisen.
Bin auch für andere Lösungsvorschläge offen.
Code:
today=`date --rfc-3339=date`
IFS=","
while read datum gender sie vor nach
do
echo "Datum=$datum"
echo "Geschlecht=$gender"
echo "Anrede=$sie"
echo "Vorname=$vor"
echo "Nachname=$nach"
IFS="-"
while read year month day
do
if [ $month -eq $t_month ]
then
if [ $day -eq $t_day ]
then
old=$(($t_year-$year))
echo "Heute ist $vor $nach $old geworden !"
fi
fi
done <<<"$datum"
done < $1
Ergänzung ()
Hab eine Lösung gefunden, man kann den IFS direkt in die While Schleife setzen und dadurch Schachtelungen richtug durchlaufen.
z.B.:
Code:
while IFS=";" read wert1
do
echo $wert1
while IFS="+" read wert2
do
echo $wert2
done
done
peace_maker
Zuletzt bearbeitet: