Molte volte ho bisogno di estrarre diversi tipi di file archiviati usando la riga di comando. Ma non sempre ricordo il comando esatto per qualsiasi tipo di archivio di file. Quindi, devo perdere tempo e cercare di nuovo. Come posso evitarlo?
Molte volte ho bisogno di estrarre diversi tipi di file archiviati usando la riga di comando. Ma non sempre ricordo il comando esatto per qualsiasi tipo di archivio di file. Quindi, devo perdere tempo e cercare di nuovo. Come posso evitarlo?
Risposte:
Il dtrx
comando è tuo amico in merito.
Decomprime qualsiasi file di archivio indovinandone il tipo. Si assicurerà inoltre che i file decompressi vengano inseriti in una nuova directory; evitando di rovinare l'attuale directory di lavoro con tonnellate di file.
sudo aptitude install dtrx
dtrx stuff.zip
È possibile utilizzare il seguente script di shell (l'ho chiamato extract
e l'ho inserito ~/bin
):
#! / Bin / bash if [$ # -lt 1]; allora echo "Utilizzo:` basename $ 0` FILES " uscita 1 fi # Ho trovato la seguente funzione su https://unix.stackexchange.com/a/168/37944 # che l'ho migliorata un po '. Mille grazie a Sydo per questa idea. estratto () { per arg in $ @; fare if [-f $ arg]; poi caso $ 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) decomprimere $ arg ;; * .Z) decomprimere $ arg ;; * .rar) rar x $ arg ;; # 'rar' deve essere installato * .jar) jar -xvf $ arg ;; # 'jdk' deve essere installato *) echo "'$ arg' non può essere estratto tramite extract ()" ;; esac altro echo "'$ arg' non è un file valido" fi fatto } estrae $ @
Non dimenticare di rendere eseguibile lo script:
chmod +x ~/bin/extract
Uso:
estrarre file_1 file_2 ... file_n
basename $arg
potrebbe essere d'aiuto.
atool
, con il quale puoi estrarre / impacchettare più formati: vedi la risposta che ho dato per questa domanda: riga di comando-archivio-gestore-estrattore . Questa domanda è anche una copia di quella, quindi probabilmente dovrebbero essere unite.