# 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: