One of my new articles is on smplifying your command line (read more about System Administrators Toolkit: Standardizing your UNIX command-line tools, making your life easier as you move between different environments. The same principles can be applied just to make your life easier. Here’s a function I’ve had in my bash init script for years that gets round the issue of extracting a compressed archive file of various types, even if your tar isn’t aware of the compression type:
function uz ()
{
file=$1
case $file in
(*gz) gunzip -c $file|tar xf -;;
(*bz2) bunzip2 -c $file|tar xf -;;
(*Z) tar zxf $file;;
(*zip) unzip $file;;
esac
}
Now I can extract any file with:
$ uz file{gz|bz2|zip|Z)
And not worry that my Solaris tar isn’t bzip2 aware even though it is Gzip aware.