+ find "$@" -name "*${name}*";
+}
+
+function bak () {
+ while [[ "$1" ]]; do
+ cp "$1" "$1".bak
+ shift
+ done
+}
+
+function ua () {
+
+ [[ "$1" ]] || ( echo "Universal unarchive: ua <file> [<file> ...]" >&2 && return 1)
+
+ while [[ "$1" ]]; do
+
+ case "$1" in
+ *.tgz|*.tar.gz|*.tbz|*.tar.bz2)
+ tar xvf "$1"
+ ;;
+
+ *.rar)
+ unrar -kb x "$1"
+ ;;
+
+ *.zip)
+ unzip "$1"
+ ;;
+
+ *)
+ echo "Unknown file extension $1"
+ ;;
+ esac
+
+ shift
+
+ done
+}
+
+# Create a dir and cd there
+
+function mcd () {
+ mkdir -vp "$1"
+ cd "$1"
+}
+
+# Capture the screen in a dated png
+
+function cap () {
+ if [[ $2 ]]; then
+ name=$2
+ else
+ name="capture-$(date +%s).png"
+ fi
+ echo "Waiting $1 s and saving to ${name}."
+ [[ "$1" ]] && sleep "$1"
+ echo "Please click on the window to capture."
+ xwd | convert - ${name}
+ \ls -l ${name}
+}
+
+# Create and CD in a /tmp/tmp.XXXXXX directory. With the '-'
+# arguments, do not create one and CD in the most recent instead
+
+function cdt () {
+ if [[ "$1" ]]; then
+ if [[ "$1" == "-" ]]; then
+ cd $(\ls -td /tmp/tmp.?????? | head -1)
+ else
+ echo "USAGE: cdt [-]" >&2
+ return 1
+ fi
+ else
+ dir=$(mktemp -d /tmp/tmp.XXXXXX)
+ link=/tmp/tmp
+ if [[ -h ${link} ]]; then
+ \rm ${link}
+ fi
+ if [[ ! -a ${link} ]]; then
+ ln -s ${dir} ${link}
+ fi
+ cd ${dir}
+ fi
+}
+
+alias t='cd /tmp'
+
+function trash () {
+ TRASH=$(date +/tmp/trash-%Y-%b-%d-%Hh)
+ LINK=/tmp/trash
+
+ mkdir -p ${TRASH}
+
+ [[ -h ${LINK} ]] && \rm ${LINK}
+ [[ ! -f ${LINK} ]] && ln -s ${TRASH} ${LINK}
+
+ mv "$@" ${TRASH}
+ echo "Trashed $@"
+}
+
+function mmsget () {
+ mplayer "$1" -dumpstream -dumpfile $(basename "$1")