dots/zsh/utility

85 lines
2.1 KiB
Bash
Executable file

# utility.sh
# Miscellaneous Utility Functions
function unkey-host()
{
if [[ ${#} -ne 1 ]] && return 1
sed -i -e "/$1/d" $HOME/.ssh/known_hosts
}
function mkcd()
{
if [[ -d "$1" ]] ; then
cd "$1"
return
fi
mkdir -p "$1" && cd "$1"
}
function extract()
{
if [[ ! -f "$1" ]] ; then
echo "The file ("$1") does not exist!"
return
fi
#local mime=$(file -iL "$1" | awk '{ split($NF, parts, "/"); print parts[2]; }')
#case "${(L)mime}" in
# x-bzip2) bzip2 -dc "${1}" > $(basename "${1%.*}") ;;
# x-gzip) gzip -dc "${1}" > $(basename "${1%.*}") ;;
# x-tar) tar xf "${1}" --no-same-owner ;;
# x-zip) unzip -qo "${1}" ;;
# *)
case "${(L)1}" in
*.tar)
tar xf "${1}"
;;
*.tar.gz|*.tgz|*.tar.Z)
tar zxf "${1}"
;;
*.tar.bz2|*.tbz2)
tar jxf "${1}"
;;
*.zip|*.ZIP|*.jar)
unzip -qo "${1}"
;;
*.gz|*.Z|*.z)
gzip -dc "${1}" > $(basename "${1%.*}")
;;
*.bz2)
bzip2 -dc "${1}" > $(basename "${1%.*}")
;;
*.rar|*.RAR)
unrar x -idq "${1}"
;;
*.LHa|*.LHA|*.lha|*.lzh)
lha xqf "${1}"
;;
*.a|*.deb)
ar x "${1}"
;;
*.tar.lzma)
lzma -dc "${1}" | tar xf
;;
*.lzma)
lzma -dc "${1}" > $(basename "${1%.*}")
;;
*)
echo "Unable to extract '"$1"'"
return 1
;;
esac
# ;;
#esac
return $?
}
zstyle ':completion:*:*:extract:*' file-patterns '*.(tar|tar.gz|tgz|tar.Z|tar.bz2|tbz2|zip|ZIP|jar|gz|Z|z|bz2|rar|RAR|LHa|LHA|lha|lzh|a|deb|tar.lzma|lzma):Compressed\ Files *(-/):directories'
alias svn-diff='svn diff --diff-cmd /usr/bin/diff -x -burNp'
alias svn-colordiff='svn diff --diff-cmd /usr/bin/colordiff -x -burNp'
# vim: set ft=sh ts=3 sw=3 et: