From 7093dff61a3e3bf7a43c5d5c552013c44b0283fa Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Dominik=20Pant=C5=AF=C4=8Dek?= Date: Sat, 29 Jul 2023 16:37:42 +0200 Subject: [PATCH] Preliminary final merging. --- fetch_fio_fine.sh | 39 ++++++++++++++++++++++++++++++--------- 1 file changed, 30 insertions(+), 9 deletions(-) diff --git a/fetch_fio_fine.sh b/fetch_fio_fine.sh index f65ed21..7f7b604 100644 --- a/fetch_fio_fine.sh +++ b/fetch_fio_fine.sh @@ -309,8 +309,7 @@ merge_acc() { for part in `all_but_first_parts $1` ; do grep -A 100000 '^ID' "$BANK_DIR_PARTS/$part" \ | grep -v '^ID' - done - + done } # @@ -339,6 +338,20 @@ last_acc_year_part() { | head -n 1 } +# +# Returns all parts except for the first +# $1 - account number +# $2 - year +all_but_first_year_parts() { + accno="$1" + first="`first_acc_year_part $1 $2`" + ls "${BANK_DIR_PARTS}/" \ + | grep "^$accno" \ + | grep "$2-[0-9][0-9].csv$" \ + | sort \ + | grep -v "$first" +} + # # Dynamic part # $1 - account number @@ -363,7 +376,11 @@ make_acc_year_header() { # $2 - year merge_acc_year() { make_acc_year_header "$1" "$2" - echo "TODO" + grep -A 100000 '^$' "$BANK_DIR_PARTS/`first_acc_year_part $1 $2`" + for part in `all_but_first_year_parts $1 $2` ; do + grep -A 100000 '^ID' "$BANK_DIR_PARTS/$part" \ + | grep -v '^ID' + done } # Current year and month @@ -430,15 +447,19 @@ while read accnt ; do # Merge the account for year in `seq $currentyear $CYEAR` ; do log "Merging $ACCNO $year" - merge_acc_year "$ACCNO" "$year" >"$BANK_DIR/$ACCNO-$year.csv" + merge_acc_year "$ACCNO" "$year" >"$BANK_DIR_PARTS/$ACCNO-$year.csv.tmp" + if [ -r "$BANK_DIR_PARTS/$ACCNO-$year.csv" ] ; then + cp "$BANK_DIR_PARTS/$ACCNO-$year.csv" "$BANK_DIR_PARTS/$ACCNO-$year.csv.old" + fi + mv "$BANK_DIR_PARTS/$ACCNO-$year.csv.tmp" "$BANK_DIR_PARTS/$ACCNO-$year.csv" done log "FINAL Merging $ACCNO" - #;merge_acc "$ACCNO" >"$BANK_DIR/$ACCNO.csv.tmp" + merge_acc "$ACCNO" >"$BANK_DIR/$ACCNO.csv.tmp" log "Renaming $ACCNO" - #if [ -r "$BANK_DIR/$ACCNO.csv" ] ; then - #cp "$BANK_DIR/$ACCNO.csv" "$BANK_DIR/$ACCNO.csv.old" - #fi - #mv "$BANK_DIR/$ACCNO.csv.tmp" "$BANK_DIR/$ACCNO.csv" + if [ -r "$BANK_DIR/$ACCNO.csv" ] ; then + cp "$BANK_DIR/$ACCNO.csv" "$BANK_DIR/$ACCNO.csv.old" + fi + mv "$BANK_DIR/$ACCNO.csv.tmp" "$BANK_DIR/$ACCNO.csv" done < "$APIKEYS_FILE" # Mark