bin: aliases.sh -> bashrc, added fin/bin/gnused/gnudate
This commit is contained in:
		
							parent
							
								
									c69f319b3f
								
							
						
					
					
						commit
						6d02e9ef57
					
				| @ -1,4 +1,35 @@ | |||||||
| # some hledger-related bash aliases | # Some hledger/PTA-related bash scripts. | ||||||
|  | 
 | ||||||
|  | export FINDIR=~/finance | ||||||
|  | export LEDGER_FILE=$FINDIR/2022.journal | ||||||
|  | 
 | ||||||
|  | fin() {  # fin [PAT] - list financial scripts in $FINDIR/bin/[bashrc] (default: ~/finance) | ||||||
|  |     (cd ${FINDIR:-~/finance} || exit; bin "$@") | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | bin() {  # bin [PAT] - list aliases, functions, scripts in ./bin/[bashrc] | ||||||
|  |     PAT="${1-.}" | ||||||
|  |     BINDIR=./bin | ||||||
|  |     BASHRC=$BINDIR/bashrc | ||||||
|  |     ( [[ -e $BASHRC ]] && grep -E '^(alias|function|\w+\(\))' $BASHRC \ | ||||||
|  | 	  | gnused -E -e 's/^alias *//' -e 's/^(function )?(\w+) *\(\) *\{/\2()/' -e 's/#/\t#/' \ | ||||||
|  | 		   # -e "s/=('[^']+'|\"[^\"]+\"|\w+)/=/"   # hide alias definitions | ||||||
|  |       [[ -d $BINDIR ]] && for F in "$BINDIR"/*; do | ||||||
|  | 	  printf '%s  ' "$(basename "$F")" | ||||||
|  | 	  (grep -IE '^(#|--) ' "$F" 2>/dev/null | gnused -E 's/(#|--)/\t#/'; echo) | head -1 | ||||||
|  |       done | ||||||
|  |       ) | grep -iE "$PAT" # | sort -b -k2 | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | gnused() {  # GNU sed, called gsed on mac | ||||||
|  |     if hash gsed 2>/dev/null; then gsed "$@"; else sed "$@"; fi | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | gnudate() {  # GNU date, called gdate on mac | ||||||
|  |     if hash gdate 2>/dev/null; then gdate "$@"; else date "$@"; fi | ||||||
|  | } | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| 
 | 
 | ||||||
| # time | # time | ||||||
| 
 | 
 | ||||||
| @ -83,13 +114,13 @@ alias checkingcleared="checking --cleared --period 'daily to tomorrow'" | |||||||
| alias checkingfuture="checking -d 'd>=[yesterday]'" | alias checkingfuture="checking -d 'd>=[yesterday]'" | ||||||
| 
 | 
 | ||||||
| # generate a chart and view it in emacs | # generate a chart and view it in emacs | ||||||
| function chart () { | chart () { | ||||||
|   hledger chart $* && emacsclient -n hledger.png |   hledger chart $* && emacsclient -n hledger.png | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| # old ledger 2.6 scripts | # old ledger 2.6 scripts | ||||||
| 
 | 
 | ||||||
| function BalanceSheet() { | BalanceSheet() { | ||||||
|     echo "Balance sheet as of `date`" |     echo "Balance sheet as of `date`" | ||||||
|     echo "totals include sub-accounts" |     echo "totals include sub-accounts" | ||||||
|     echo |     echo | ||||||
| @ -104,7 +135,7 @@ function BalanceSheet() { | |||||||
|     ledger --balance-format '%10T  %2_%-a\n' --basis $* balance assets liabilities | tail -2 |     ledger --balance-format '%10T  %2_%-a\n' --basis $* balance assets liabilities | tail -2 | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
| function IncomeStatement() { | IncomeStatement() { | ||||||
|     echo "Income statement for `date +%Y` as of `date`" |     echo "Income statement for `date +%Y` as of `date`" | ||||||
|     echo "totals include sub-accounts" |     echo "totals include sub-accounts" | ||||||
|     echo |     echo | ||||||
		Loading…
	
		Reference in New Issue
	
	Block a user