Heute bitte ich um Eure Hilfe bei folgendem "Problem", welches für Euch sicher keines ist :
Ich habe mir ein Skript für die Bearbeitung meiner downgeloadeten Bankumsätze erstellt.
Hauptaufgabe des Skripts ist es, den Verwendungszweck im Feld 2 auf eine Maximallänge zu kürzen und "unnötige" Informationen zu elimieren, abzukürzen oder zu ersetzen. Weiter wird jeweils der neue Saldo errechnet, weil die Bank ihn leider nicht liefert. Dies habe ich auch zufriedenstellend gelöst.
Was mir nicht gelingt, ist das komplette Ersetzen des Feldinhaltes durch eine konstante Zeichenfolge, wenn irgendwo im Feld eine bestimmte andere Zeichenfolge vorhanden ist.
Konkret liegt die gesuchte Zeichenfolge irgendwo jenseits der Position 180 im Feld. Die Informationen davor sind unnötig und für mich nicht informativ.
Ich möchte entweder beim Vorliegen der Zeichenfolge den Inhalt des Feldes komplett austauschen oder alternativ alle Zeichen vor der Zeichenfolge löschen.
Das Skript sieht (eingekürzt) bisher so aus :
Die Suche mittels Wiki oder Google bringt mich mangels gut gewählter Suchkriterien nicht weiter.
Für Eure "Nachhilfe" wäre ich Euch dankbar.
Gruss H.
Ich habe mir ein Skript für die Bearbeitung meiner downgeloadeten Bankumsätze erstellt.
Hauptaufgabe des Skripts ist es, den Verwendungszweck im Feld 2 auf eine Maximallänge zu kürzen und "unnötige" Informationen zu elimieren, abzukürzen oder zu ersetzen. Weiter wird jeweils der neue Saldo errechnet, weil die Bank ihn leider nicht liefert. Dies habe ich auch zufriedenstellend gelöst.
Was mir nicht gelingt, ist das komplette Ersetzen des Feldinhaltes durch eine konstante Zeichenfolge, wenn irgendwo im Feld eine bestimmte andere Zeichenfolge vorhanden ist.
Konkret liegt die gesuchte Zeichenfolge irgendwo jenseits der Position 180 im Feld. Die Informationen davor sind unnötig und für mich nicht informativ.
Ich möchte entweder beim Vorliegen der Zeichenfolge den Inhalt des Feldes komplett austauschen oder alternativ alle Zeichen vor der Zeichenfolge löschen.
Das Skript sieht (eingekürzt) bisher so aus :
Code:
#!/bin/sh
#LANG="de_DE"
csvnam1="Eingabe"
ausnam1="Ausgabe"
recode ISO-8859-1..UTF-8 /home/benutzer/Daten/$csvnam1.csv
echo "Gib Vorsaldo mit Dezimalpunkt (.)"
read Vsaldo
cat /home/benutzer/Daten/$csvnam1.csv | gawk -v sum=$Vsaldo -F ";" '{OFS=";"} \
{sub("LASTSCHRIFT ", "LS ", $2)} {sub("GUTSCHRIFT ", "GS ", $2)} \
{sub("RWE VERTRIEB AG RWE RR BELEG", "RWE", $2)} \
{sub("UMBUCHUNG BARGELDABHEBUNG", "BARGELDABHEBUNG", $2)} \
{sub(",", ".", $3)} {gsub("\"", "")} \
{print substr($1,1,10), substr($2,1,35), substr($3,1,8), sum+=$3}' > arb-bank.csv
echo '"Datum";"Verwendungszweck";"Betrag";"Saldo"' > /Datenpartition/Privat/BANK/Banking-Ex-Import/$ausnam1.csv
cat arb-bank.csv | \
gawk -F ";" '{OFS=";"} {sub("\\.", ",", $3)} {sub("\\.", ",", $4)} {print $0}' \
>> /Datenpartition/Privat/BANK/Banking-Ex-Import/$ausnam1.csv
Die Suche mittels Wiki oder Google bringt mich mangels gut gewählter Suchkriterien nicht weiter.
Für Eure "Nachhilfe" wäre ich Euch dankbar.
Gruss H.