Chris@30: Chris@30: fail() { Chris@30: echo "Test failed: $1" Chris@30: exit 1 Chris@30: } Chris@30: Chris@30: csvcompare() { Chris@30: # permit some fuzz in final few digits Chris@30: a="$1" Chris@30: b="$2" Chris@30: perl -p -e 's/(\d+\.\d{6})\d+/$1/' "$a" > "${a}__" Chris@30: perl -p -e 's/(\d+\.\d{6})\d+/$1/' "$b" > "${b}__" Chris@30: cmp -s "${a}__" "${b}__" Chris@30: rv=$? Chris@30: rm "${a}__" "${b}__" Chris@30: return $rv Chris@30: } Chris@30: Chris@75: csvcompare_ignorefirst() { Chris@75: # a bit like the above, but ignoring first column (and without temp files) Chris@75: out=`cat "$1" "$2" | cut -d, -f2- | perl -p -e 's/(\d+\.\d{6})\d+/$1/' | sort | uniq -c | grep -v ' 2 '` Chris@75: return `[ -z "$out" ]` Chris@75: } Chris@75: Chris@75: