Tar: extraire des fichiers spécifiques

Add your email:  Fedora Tunisia Group

 

Je manipule quotidiennement des archives volumineuses de quelques tonnes. Déjà, ce n'est pas très sympathique de les créer ou de les bouger, c'est encore pire qu'on a besoin d'en extraire un ou plusieurs fichiers. Ce petit article vous montre comment extraire des fichiers spécifiques à partir d'une archive tar.

Pour tirer un fichier:
tar --extract --file=mon_archive.tar file1
c'est à dire extraire le fichier file1 de l'archive mon_archive.tar.
Si nous devons extraire à partir d'une archive gzippée:
tar xzf mon_achive_zippee.tgz file2
maintenant si on veux extraire un répertoire:
tar xzf grosse_archive.tar.gz --wildcards --no-anchored 'home/zydoon/public_html*'
vous pouvez utiliser le t au lieu du x pour vous exercer.
A la prochaine.

Ouah punaise !
Tu sais depuis quand on peut se passer du z ou j ? J'aimerais bien savoir si ça passe sous CentOS 5

Thomas

Pour les gz, tu décompresses avec :

$ tar xzf archive.tar.gz

Du coup, pour un bz2, c'est :

$ tar xjf archive.tar.bz2

Là où ça devient vraiment relou, c'est quand tu utilises du lzma :

$ tar --lzma xf archive.tar.lzma

(pas trouvé d'option courte)

Eh ben en fait, j'ai découvert il y a peu que pour toutes les archives supportées par tar, il suffit de faire :

$ tar xf archive.tar.{gz,bz2,lzma,...}

Ça a l'air de rien comme ça, mais ça a changé ma vie :)

~ Bochecha