#!/bin/sh # use hledger with piles of journal chunks # # Example usage: # ## Check expenses against bank account # myhledger register liabilities:payable -B --date2 -p "from 2011" # # myhledger balance -p "every 6 months in 2012" --date2 # myhledger balance -p "from 2012-07 to 2013" # myhledger reg :kp # myhledger reg desc:012001 set -e basedir="${basedir:-data}" years="${years:-$(find "$basedir" -mindepth 1 -maxdepth 1 -type d -regex '.*/[0-9]+' -printf '%f\n')}" journal() { set -e cd "$basedir" for year in $years; do cat defaults.ledger 2> /dev/null || true cat $year/primo.ledger 2> /dev/null || true cat defaults.ledger 2> /dev/null || true cat $year/assets/*.ledger 2> /dev/null || true cat defaults.ledger 2> /dev/null || true cat $year/income/*.ledger 2> /dev/null || true cat defaults.ledger 2> /dev/null || true cat $year/expenses/*.ledger 2> /dev/null || true cat $year/ultimo.ledger 2> /dev/null || true done } journal | hledger -f- "$@"