# < FUNCTIONS ## BACKUP function etcbackup() { BACKUPDIR=$HOME/dropbox/backup HOSTNAME=$(hostname) FILE=$1 if [ -f $FILE ] then FILENAME=$(echo $FILE | sed 's/\///' | sed 's/\//_/g') cp -v $FILE $BACKUPDIR/$HOSTNAME/$FILENAME else echo $FILE does not exist fi } ## COMPRESSION function tar_tgz { tar cvfz $1.tgz $1 } function tar_tbz { tar cvfj $1.tbz $1 } function tar_tlz { tar --lzma -cvf $1.tlz $1 } ## DOTFILES function update_dot() { for i in $HOME/dropbox/dot/[a-zA-Z]*; do if [ -f $i ]; then echo file $i base=`basename $i` dst=$HOME/.$base bak=$HOME/.${base}_bak case $base in vimrc|zshrc|*tgz) echo nothing $i ;; *) if [ -L $dst ]; then rm $dst else mv $dst $bak fi ln -s $i $dst ;; esac else if [ -d $i ]; then echo dir $i base=`basename $i | sed 's/_/\//'` dst=$HOME/.$base bak=$HOME/.${base}_bak case $base in "vim") echo nothing $i ;; *) if [ -e $dst ]; then if [ -L $dst ]; then rm $dst else mv $dst $bak fi fi ln -s $i $dst ;; esac else echo unknown $i fi fi done } ## PDF/LATEX function mkpdf() { pdflatex -shell-escape $1 # latex --output-format=pdf $1 name=`echo $1 | sed 's/.tex//'` EXT=(aux log) for i in $EXT; do rm -v $name.$i done } function gsmerge() { target=$1 echo "target: $target" sleep 1 shift /usr/bin/gs \ -sDEVICE=pdfwrite \ -dCompatibilityLevel=1.4 \ -dNOPAUSE \ -dBATCH \ -sPAPERSIZE=a4 \ -sOUTPUTFILE=$target $* } function gsmerge_medium() { target=$1 echo "target: $target" sleep 1 shift /usr/bin/gs \ -sDEVICE=pdfwrite \ -dPDFSETTINGS=/ebook \ -dCompatibilityLevel=1.4 \ -dNOPAUSE \ -dBATCH \ -sPAPERSIZE=a4 \ -sOutputFile=$target $* } ## USABILITY function lvim() { noglob vim $(echo $1 | awk -F":" '{ print $1" +"$2 }' ) } function mkcd() { mkdir $1 cd $1 } function cpwd() { pwd >! /tmp/pwd } function ppwd() { cd "`cat /tmp/pwd`" } function cp2wd() { cp $@ "`cat /tmp/pwd`" } function publish() { [ -f $1 ] || return DIR=`dirname $1` FILE=`basename $1` mute pushd $DIR scp $FILE pool:public_html/ echo "http://www-pool.math.tu-berlin.de/~runge/$FILE" echo "http://www-pool.math.tu-berlin.de/~runge/$FILE"|xcp mute popd } function securium { port=44350 chromium --proxy-server="socks://localhost:$port" & exit } ## ZSH refresh() { source $HOME/.zshrc } # FUNCTIONS >