# A bash script to view a temporary copy of a KMyMoney XML file in your favourite editor # (works with some gnucash files too!) # Usage:- viewxml [filename] # Save this script somewhere in your path and remember to apply execute permissions (chmod a+x viewxml) # Set the following variables as required TMPDIR=/tmp # a temporary directory for storing the file copy EDITOR=kate # your editor of choice WIPE='rm -f' # command to get rid of the temporary file copy (could be replaced with a shredder or something) # declare -i TYPE if [ -z $1 ]; then FILE=`kdialog --getopenfilename . '*.*'`; else FILE=$1; fi TYPE=0 # default type, gzipped file read -n 14 <$FILE HEAD if [ "$HEAD" = "-----BEGIN PGP" ]; then TYPE=1; # encrypted file elif [ "$HEAD" = "<?xml version=" ]; then TYPE=2; fi BASENAME=`basename $FILE` case $TYPE in 0) echo $BASENAME is gzipped cp $FILE $TMPDIR/$BASENAME.gz gunzip $TMPDIR/$BASENAME.gz;; 1) echo $BASENAME is encrypted gpg -d $FILE >$TMPDIR/$BASENAME;; 2) echo $BASENAME is plaintext cp $FILE $TMPDIR/$BASENAME;; esac $EDITOR $TMPDIR/$BASENAME $WIPE $TMPDIR/$BASENAME