jens4ever
Goto Top

CSV-Daten zurechtbauen in ein Skript

Moin zusammen,

ich habe eine Datei "Datei", die so aufgebaut ist:

(Geburtstag; Name; E-Mailadresse)
0103; max-mustermann; m.mustermann@example.com
0107; lisa-musterfrau; l.musterfrau@example.com
1221; jens-musterkind; j.musterkind@example.com
(...)

Mit grep ziehe ich aus der Datei die Zeilen, die jeweils heute sind:
grep '1221' Datei > Datei2  

Meine Frage ist nun: Wie bekomme ich den String: "1221; jens-musterkind; j.musterkind@example.com" ins folgende Format bzw. in meinen Befehl eingebaut? (Postfix, SMTP relay)
cat /skripte/mail/namen/jens-musterkind | mail -s "Titel der Mail" -a "From: Jensen <jensen@example.com>" j.musterkind@example.com  

Habt ihr einen Tipp für mich, wie ich hier technisch am besten vorgehe?

Danke und frohes Fest.
Jens.

Content-ID: 291482

Url: https://administrator.de/contentid/291482

Ausgedruckt am: 22.11.2024 um 01:11 Uhr

114757
Lösung 114757 21.12.2015, aktualisiert am 19.02.2016 um 13:16:26 Uhr
Goto Top
N'Abend Jensen,
#!/bin/bash
file="/path/test.csv"  
line=$(cat "$file" | grep $(date +%m%d) | tr -d " ")  
if [ ! -z "$line" ] ;then  
    name=$(echo "$line" | cut -d ';' -f2)  
    mail=$(echo "$line" | cut -d ';' -f3)  
    cat "/skripte/mail/namen/$name" | mail -s "Titel der Mail" -a "From: Jensen <jensen@example.com>" "$mail"  
fi

Gruß jodel32
114757
114757 17.02.2016 aktualisiert um 13:02:01 Uhr
Goto Top
Wenns das dann war, den Beitrag bitte noch auf gelöst setzen nicht vergessen.

jodel32