Sunday, November 8, 2009

Uncompress files using CLI

I usually uncompress all kinds of packaged files from the command line. Unfortunately, I rarely remember which command line tool I should use for some specific packaging format. It is even more difficult to remember all the options needed for the appropriate tool.

Now that I found a cool hack in the ArchWiki, I never need to look for more information about how to uncompress a .tbz2, .tgz or .bz2 file -- I just use extract filename.

Add the following snippet of code to your .bashrc and you are ready to extract any file (if your system has the corresponding tool installed).


extract () {
if [ -f $1 ] ; then
case $1 in
*.tar.bz2) tar xvjf $1 ;;
*.tar.gz) tar xvzf $1 ;;
*.tar.xz) tar xvJf $1 ;;
*.bz2) bunzip2 $1 ;;
*.rar) unrar x $1 ;;
*.gz) gunzip $1 ;;
*.tar) tar xvf $1 ;;
*.tbz2) tar xvjf $1 ;;
*.tgz) tar xvzf $1 ;;
*.zip) unzip $1 ;;
*.Z) uncompress $1 ;;
*.7z) 7z x $1 ;;
*.xz) unxz $1 ;;
*.exe) cabextract $1 ;;
*) echo "\`$1': unrecognized file compression" ;;
esac
else
echo "\`$1' is not a valid file"
fi
}

0 Comments: