#!/bin/sh -

# cols - tools for managing environment variables set from TSV output
# Steve Kinzler, steve@kinzler.com, Nov 04
# https://kinzler.com/me/home.html#unix

# sample csh usage:
#	alias clearcols	'eval `cols unsetenv`'
#	alias setcols	'cols setenv > /tmp/sc$$; source /tmp/sc$$;
#			 rm -f /tmp/sc$$'
#	alias showcols	'cols show'

case "$1" in
unsetenv)	env | sed -n '/^\(COL[0-9][0-9]*\)=.*/s//unsetenv \1;/p';;
setenv)		tail -1 | tr '\011' '\012' | quote |
			perl -pe '$n = $. - 1; s/!/\\!/g;
				  s/^/setenv COL$n /; s/$/;/';;
show)		env | grep '^COL[0-9][0-9]*=' | sort -k 1.4n;;

*)		echo "usage: $0 [ unsetenv | setenv | show ]" 1>&2; exit 1;;
esac
