sjn /.aliases

A bunch of useful aliases and fuctions for all kinds of purposes. Maybe you'll find something interesting here?
#
# For use with bash(1)
#

#
# Useful Perl-based aliases
#

alias hex2int='perl -le "print join(qq(\n),map {hex}@ARGV)"'
alias int2hex='perl -e printf\ \"%lx\\n\",\$_\ foreach\ @ARGV'

alias urlencode='perl -ple "s/([^a-zA-Z0-9_.-])/uc sprintf(qq(%%%02x),ord(\$1))/eg"'
alias urldecode='perl -ple "s/%([0-9a-fA-F]{2})/chr hex(\$1)/ge"'

alias inet_aton='perl -MSocket -ple 
's/(\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3})/unpack(q{N*},inet_aton(\$1))/ge"'
alias inet_ntoa='perl -MSocket -ple "s/(\d+)/inet_ntoa(pack(q{N*},\$1))/ge"'
alias inet_xtoa='perl -MSocket -ple "s/(?:0x)?([0-9a-fA-F]{8})/inet_ntoa(pack(q{N*},eval("0x\$1")))/ge"'

alias number_ranges='perl -le "\$_=join q(:),map{chomp;\$_;}<>;1 while s/(\d+):(\d+)/\$1.(qw(, -))[\$1+1==\$2].\$2/e;s/-[^,]+-/-/g;s/,/\n/g;print"'
alias rot13='perl -pe "y/n-za-mN-ZA-M/a-zA-Z/"'
alias scramble='perl -Mlocale -pe "s|\B\w+\B|join q(),sort{rand 2}$&=~/./g|ge"'

alias ldapdecode='perl -MMIME::Base64 -MEncode -pe "m/^(\S+::\s+)(\S*)$/ and \$_=\$1.decode_utf8(decode_base64(\$2)).qq(\n)"'
alias utf2latin1='perl -pe "s/([\xC2\xC3])([\x80-\xBF])/ord$1==0xC2?\$2:chr(ord\$2|0xC0)/ge"'
alias base64enc='perl -MMIME::Base64 -e "print encode_base64(join(q(),<>),q())"'
alias base64dec='perl -MMIME::Base64 -e "print decode_base64(join(q(),<>))"'

# Look up version of an installed Perl module
alias perlver='perl -le "my \$arg = shift(@ARGV); die qq(Usage: perlver Module\n) unless \$arg; eval qq(use \$arg;); if(\$@) { print qq(Cannot find module \$arg\n); } else { print qq(\$arg has ),(\$arg->VERSION ? \$arg->VERSION : q(NO version)); }"'


#
# General utility aliases
#
alias arm='( ls *~ .*~ \#*\# dead.letter core core.* .#* 2>&- ) | xargs rm -f'
alias devnull='cat \!* > /dev/null'
alias cls='echo -n \e[0r\e[0m\e[H\e[J'


#
# Daily usage aliases
#
alias rm='rm -i'
alias m='less -MQR'


#
# Process related
#
alias z='bg'
alias massacre='kill -1 -1'

#
# Dotfile management
#
function pull-dotfiles-from () {
  [ -z $1 ] \
    && echo -e "Usage:\n    $FUNCNAME [user@]hostname [ssh-args]" \
    || ( mkdir -p $HOME/.dotfile-backup; cp $HOME/.{bashrc,bash_profile,aliases,screenrc} $HOME/.dotfile-backup; scp $2 $1:'$HOME/.{bashrc,bash_profile,aliases,screenrc}' $HOME );
}

function push-dotfiles-to () {
  [ -z $1 ] \
    && echo -e "Usage:\n    $FUNCNAME [user@]hostname [ssh-args]" \
    || ( ssh $1 'mkdir -p $HOME/.dotfile-backup; cp $HOME/.{bashrc,bash_profile,aliases,screenrc} $HOME/.dotfile-backup'; scp $HOME/.{bashrc,bash_profile,aliases,screenrc} $2 $1:'$HOME' );
}

#
# The End
#