Como extrair rapidamente todos os tipos de arquivos arquivados da linha de comando?

8

Muitas vezes eu preciso extrair diferentes tipos de arquivos arquivados usando a linha commad. Mas nem sempre me lembro do comando exato para qualquer tipo de arquivo morto. Então, eu tenho que perder tempo e pesquisar novamente. Como posso evitar isso?

    
por Radu Rădeanu 29.08.2013 / 09:10

2 respostas

8

Você pode usar o seguinte script de shell (eu o nomeei extract e coloquei em ~/bin ):

#!/bin/bash

if [ $# -lt 1 ];then
  echo "Usage: 'basename $0' FILES"
  exit 1
fi

# I found the following function at https://unix.stackexchange.com/a/168/37944
# which I improved it a little. Many thanks to sydo for this idea.
extract () {
    for arg in $@ ; do
        if [ -f $arg ] ; then
            case $arg in
                *.tar.bz2)  tar xjf $arg      ;;
                *.tar.gz)   tar xzf $arg      ;;
                *.bz2)      bunzip2 $arg      ;;
                *.gz)       gunzip $arg       ;;
                *.tar)      tar xf $arg       ;;
                *.tbz2)     tar xjf $arg      ;;
                *.tgz)      tar xzf $arg      ;;
                *.zip)      unzip $arg        ;;
                *.Z)        uncompress $arg   ;;
                *.rar)      rar x $arg        ;;  # 'rar' must to be installed
                *.jar)      jar -xvf $arg     ;;  # 'jdk' must to be installed
                *)          echo "'$arg' cannot be extracted via extract()" ;;
            esac
        else
            echo "'$arg' is not a valid file"
        fi
    done
}

extract $@

Não se esqueça de tornar o script executável:

chmod +x ~/bin/extract

Uso:

extract file_1 file_2 ... file_n 
    
por Radu Rădeanu 29.08.2013 / 09:10
8

O comando dtrx é seu amigo sobre esse assunto.

Ele descompacta qualquer arquivo, adivinhando seu tipo. Ele também fará com que os arquivos que você descompactar sejam colocados em um novo diretório; evitando bagunçar o diretório atual com toneladas de arquivos.

Instalar

sudo aptitude install dtrx

Uso

dtrx stuff.zip
    
por Thomasleveil 08.09.2013 / 22:07