#!/bin/sh usage() { printf '%s\n' "codi2ledger.sh "; exit 2; } [ -z $1 ] && usage; LC_NUMERIC=de_DE.UTF-8 NEU="" ALT="" cat "$1" | recode latin1 | tr -d '"' | col -bx | \ while read LINE; do R1=$(printf '%s' "$LINE" | awk -F';' '{ print $1 }') # BUCHUNGSTAG (DD.MM.YYYY) R2=$(printf '%s' "$LINE" | awk -F';' '{ print $2 }') # WERSTELLUNG (DD.MM.YYYY) R3=$(printf '%s' "$LINE" | awk -F';' '{ print $3 }') # VORGANG (TEXT) R4=$(printf '%s' "$LINE" | awk -F';' '{ print $4 }') # BUCHUNGSTEXT (TEXT) R5=$(printf '%s' "$LINE" | awk -F';' '{ print $5 }') # UMSATZ (-1.070,00) # PARSE ROW CONTENT R1C=$(printf '%s' "$R1" | sed 's/\(..\)\.\(..\)\.\(....\)/\3\2\1/g') R4C=$(printf '%s' "$R4" | sed 's/Kto\/IBAN.*//g' \ | sed 's/Buchungstext.*//g' \ | sed 's/ Auftraggeber: //g') R5C=$(printf '%s' "$R5" | tr -d '.' | tr ',' '.') # NEUER/ALTER KONTOSTAND [ "$R1" == "Neuer Kontostand" ] && NEU="$R2" && continue [ "$R1" == "Alter Kontostand" ] && ALT="$R2" && continue [ "$R1" == "Umstze Girokonto " ] && continue [ "$R1" == "Buchungstag" ] && continue [ "$R1" == "" ] && continue # PRINT WHAT WE HAVE printf '%s\n' \ " BUCHUNGSTAG: $R1 ($R1C) WERSTELLUNG: $R2 VORGANG: $R3 BUCHUNGSTEXT: $R4C UMSATZ: $R5C " done # SALDO printf '%s\n' \ " NEU: $NEU ALT: $ALT "