From 003008c0cf6a4eacfcd69623d4d9852c4202a209 Mon Sep 17 00:00:00 2001 From: Matthew Lemon Date: Fri, 7 Jan 2022 10:40:09 +0000 Subject: better budget processing script coming along --- process_hsbc_transactions.sh | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) create mode 100755 process_hsbc_transactions.sh (limited to 'process_hsbc_transactions.sh') diff --git a/process_hsbc_transactions.sh b/process_hsbc_transactions.sh new file mode 100755 index 0000000..5ab0caf --- /dev/null +++ b/process_hsbc_transactions.sh @@ -0,0 +1,30 @@ +#!/bin/bash + +tf="TransactionHistory.csv" + +trap 'rm -f "$tmpfile"' EXIT +tmpfile=$(mktemp) || exit 1 +echo "Our tempfile is $tmpfile" + +if [[ -a "~/Downloads/$tf" ]]; then tpath="~/Downloads/$tf" +elif [[ -a "$(pwd)/$tf" ]]; then tpath="$(pwd)/$tf" +else "Cannot find $tf. Expecting it either in ~/Downloads or in current folder." +fi + +echo -e "Transaction File: $tpath" + +# create the file if it doesn't exist +# ! [[ -a $tr_rev ]] && touch $tf_rev +# echo "" |> $tf_rev + +# remove the BOM (https://stackoverflow.com/questions/45240387/how-can-i-remove-the-bom-from-a-utf-8-file) +sed -i $'1s/^\uFEFF//' $tpath + +while read line; do + echo -e "$line\n$(cat $tmpfile)" > $tmpfile +done < $tpath + +echo -e "Date,Description,Amount\n$(cat $tmpfile)" > $tmpfile +echo "Sorted transaction file: $tmpfile" + +$(ledger convert --input-date-format "%d/%m/%Y" $tmpfile > toss) -- cgit v1.2.3