Souvent, j'ai besoin d'extraire différents types de fichiers archivés en utilisant commad-line. Mais pas tout le temps je me souviens de la commande exacte pour tout type d'archive de fichier. Donc, je dois perdre du temps et chercher à nouveau. Comment puis-je éviter ça?
Vous pouvez utiliser le script Shell suivant (je l'ai nommé extract
et je l'ai mis dans ~/bin
):
#!/bin/bash if [$ # -lt 1]; alors echo "Usage:` basename $ 0` FILES " exit 1 fi # J'ai trouvé la fonction suivante à l'adresse https://unix.stackexchange.com/a/168/37944 # ce que j'ai amélioré un peu. Merci beaucoup à sydo pour cette idée. extract () { pour arg dans $ @; faire si [-f $ arg]; puis cas $ arg dans * .tar.bz2) tar xjf $ arg ;; * .tar.gz) tar xzf $ arg ;; * .bz2) bunzip2 $ arg ;; * .gz) gunzip $ arg ;; * .tar) tarxf $ arg ;; * .tbz2) tar xjf $ arg ;; * .tgz) tar xzf $ arg ;; * .Zip) unzip $ arg ;; * .Z) décompresser $ arg ;; * .rar) rar x $ arg ;; # 'rar' doit être installé * .jar) jar -xvf $ arg ;; # 'jdk' doit être installé *) echo "'$ arg' ne peut pas être extrait via extract ()" ;; esac sinon echo " '$ arg' n'est pas un fichier valide " fi terminé } extraire $ @
N'oubliez pas de rendre le script exécutable:
chmod +x ~/bin/extract
Usage:
extrait fichier_1 fichier_2 ... fichier_n
La commande dtrx
est votre ami à ce sujet.
Il décompresse n'importe quel fichier d'archive en devinant son type. Il s'assurera également que les fichiers décompressés seront placés dans un nouveau répertoire. éviter de gâcher le répertoire de travail actuel avec des tonnes de fichiers.
Sudo aptitude install dtrx
dtrx stuff.Zip