Bash – some .bashrc functions
# bu – A quick backup function
bu () { cp $1 ~/Backups/${1}-`date +%Y%m%d%H%M`.backup ; }
# hs – History Search
hs() {
history | grep ${1} | uniq –skip-fields=1 | sort -biz | uniq –skip-fields=2
}
# stock – Stock information search.
stock ()
{
lynx -dump “http://www.google.com/finance?client=ob&q=${1}” \
| sed ‘s/.*’]’//’ | perl -00ne “print if /Watch this stock/i” \
| sed ‘s/Watch this stock//’ | sed ‘s/Disclaimer//’ \
| sed ‘/^$/d’ | sed ‘s/Currency in USD//’
}
# smallurl – create a shorter url link.
smallurl ()
{
lynx –dump http://api.fwd4.me/?url=${1}
}
# grepp – Imitate grep -p functions from Tru64 OS.
grepp ()
{
perl -00ne “print if /$1/i” < $2
}
# clock – A stupid clock function
clock ()
{
while true;do clear;echo “===========”;date +”%r”;echo “===========”;sleep 1;done
}
# dirsize – Directory contents sorted by size.
dirsize ()
{
du -shx * .[a-zA-Z0-9_]* 2> /dev/null | \
egrep ‘^ *[0-9.]*[MG]‘ | sort -n > /tmp/list
egrep ‘^ *[0-9.]*M’ /tmp/list
egrep ‘^ *[0-9.]*G’ /tmp/list
rm /tmp/list
}
#extract – Extract most types of compressed files easily
extract ()
{
if [ -f $1 ] ; then
case $1 in
*.tar.bz2) tar xvf $1 ;;
*.tar.gz) tar xvf $1 ;;
*.bz2) bunzip2 $1 ;;
*.rar) unrar x $1 ;;
*.gz) gunzip $1 ;;
*.tar) tar xvf $1 ;;
*.tbz2) tar xvf $1 ;;
*.tgz) tar xvf $1 ;;
*.zip) unzip $1 ;;
*.Z) uncompress $1 ;;
*.7z) 7z x $1 ;;
*) echo “‘$1′ cannot be extracted via >extract<” ;;
esac
else
echo “‘$1′ is not a valid file”
fi
}
#############################################################
########### ENCRYPTION / DECRYPTION FUNCTIONS ###############
#############################################################
dc ()
{
# Passphrase decryption program
# Created by Dave Crouse 10-20-2009
# Decrypts symetrically encrypted file to std out.
gpg –no-options –output .tempdc.txt “$1″
cat .tempdc.txt | less; rm -f .tempdc.txt
}
ec ()
{
# Passphrase encryption program
# Created by Dave Crouse 01-13-2006
# Reads input from text editor and encrypts to screen.
clear
echo ” ”
echo “**************************************************”;
echo “* Passphrase Encryption Program *”;
echo “**************************************************”; echo “”;
which $EDITOR &>/dev/null
if [ $? != "0" ];
then
echo “It appears that you do not have a text editor set in your
.bashrc file.”;
echo “What editor would you like to use ? ” ;
read EDITOR ; echo “”;
fi
echo “Enter the name/comment for this message :”
read comment
$EDITOR passphraseencryption
gpg –armor –comment “$comment” –no-options –output \
passphraseencryption.gpg –symmetric passphraseencryption
shred -u passphraseencryption ; clear
echo “Outputting passphrase encrypted message”; echo “” ; echo “” ;
cat passphraseencryption.gpg ; echo “” ; echo “” ;
shred -u passphraseencryption.gpg ;
read -p “Hit enter to exit” temp; clear
}
# Passhprase edit encrypted file program
# Created by Dave Crouse 11-02-2009
# Allow editing of symetrically encrypted files.
eedit ()
{
gpg –force-mdc –no-options –output .tempeec $1
emacs .tempeec
#vi .tempeec
gpg –armor –force-mdc –no-options –output $1 –symmetric .tempeec
shred -u .tempeec~ ;shred -u .tempeec ; clear
#shred -u .tempeec
}
enc ()
{
gpg –armor –no-options –output tempenc.txt –symmetric “$1″
mv tempenc.txt “$1″
}
dec ()
{
gpg $1
}
encnotes ()
{
echo “dc = decrpyt to screen”
echo “ec = encrypt to screen”
echo “enc = encrypt file to disk – overwrite existing”
echo “dec = decrypt file to disk – creates new file”
}
