… weil Bananen keine Äpfel sind!

tar -akdglihsfighsgjhkgsk – Oder: Entpacken mit nur einem Befehl

Dezember 5th, 2013 Friedemann

Jeder, der in der Linux Welt unterwegs ist, muss früher oder später Dateien entpacken. Dabei kommt man nicht um das Tool „tar“ nicht herum, das mächtig ist und unheimlich viele Parameter für alle möglichen Formate hat.

Simon hat eine schöne Funktion gefunden, die man ans Ende seiner .bashrc hinzufügen kann und mit der das Entpacken von Archiven ein Kinderspiel wird.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
extract () {
   if [ -f $1 ] ; then
       case $1 in
    *.tar.bz2)  tar xvjf $1 && cd $(basename "$1" .tar.bz2) ;;
    *.tar.gz)   tar xvzf $1 && cd $(basename "$1" .tar.gz) ;;
    *.tar.xz)   tar Jxvf $1 && cd $(basename "$1" .tar.xz) ;;
    *.bz2)      bunzip2 $1 && cd $(basename "$1" /bz2) ;;
    *.rar)      unrar x $1 && cd $(basename "$1" .rar) ;;
    *.gz)       gunzip $1 && cd $(basename "$1" .gz) ;;
    *.tar)      tar xvf $1 && cd $(basename "$1" .tar) ;;
    *.tbz2)     tar xvjf $1 && cd $(basename "$1" .tbz2) ;;
    *.tgz)      tar xvzf $1 && cd $(basename "$1" .tgz) ;;
    *.zip)      unzip $1 && cd $(basename "$1" .zip) ;;
    *.Z)        uncompress $1 && cd $(basename "$1" .Z) ;;
    *.7z)       7z x $1 && cd $(basename "$1" .7z) ;;
    *)      echo "don't know how to extract '$1'..." ;;
       esac
   else
       echo "'$1' is not a valid file!"
   fi
 }

Hat man diesen Code eingefügt, so kann man Zukunft einfach mit

1
extract <Archivname.bla>

sein Archiv entpacken. Super!

Leave a Reply