簡単な解凍コマンド

Linux など UNIX 系 OS の解凍コマンド (特にオプション) はすぐ忘れて、そのたび調べる手間がかかり面倒に感じていたが、以下を .bashrc などに書いておけば楽ができる。おそらく有名な TIPS だと思う。

# easy extract
extract () {
  if [ -f $1 ] ; then
      case $1 in
          *.tar.bz2)   tar xvjf $1    ;;
          *.tar.gz)    tar xvzf $1    ;;
          *.tar.xz)    tar xvJf $1    ;;
          *.tar)       tar xvf $1     ;;
          *.tbz2)      tar xvjf $1    ;;
          *.tgz)       tar xvzf $1    ;;
          *.zip)       unzip $1       ;;
          *.lzma)      lzma -dv $1    ;;
          *.zoo)       zoo x $1       ;;
          *.lzh)       lharc x $1     ;;
          *.arc)       arc x $1       ;;
          *.shar)      unshar $1      ;;
          *.rar)       unrar x $1     ;;
          *.7z)        7z x $1        ;;
          *.gz)        gunzip $1      ;;
          *.dz)        dictunzip $1   ;;
          *.bz2)       bunzip2 $1     ;;
          *.xz)        unxz $1        ;;
          *.Z)         uncompress $1  ;;
          *)           echo "don't know how to extract '$1'..." ;;
      esac
  else
      echo "'$1' is not a valid file!"
  fi
}

使い方は、

$ extract hoge.tar.bz2

などなど。コマンドは以下の参照先と Emacs の dired-guess-shell-alist-default あたりを参考にした。

おまけ

漫画「UNIX 使いはたよりにならない…」:

tar.png

  1. 「ロブ、お前 UNIX 使ってるだろ!」「早く来てくれ!」
  2. この爆弾を解除するには、簡単。有効な tar コマンドを一発で入力するだけ。ググっちゃだめ。あと10秒。 ~#_
  3. (…)
  4. 「…ロブ?」「マジでごめん。」

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s