Si votre archive est une sorte de paquet zippé, vous pouvez utiliser la fonction de goudron qui recherche un fichier particulier et imprime uniquement ce nom de fichier. Si votre tar prend en charge les caractères génériques, vous pouvez également les utiliser. Par exemple, sur mon système:
tar tf sprt12823.logs.tar --wildcards *tomcat*
impressions:
tomcat.log.20090105
bien qu'il y ait beaucoup plus de fichiers dans l'archive, mais un seul correspondant au modèle "* tomcat *". De cette façon, vous n'avez pas à utiliser grep.
Vous pouvez combiner ceci avec find et gunzip ou n'importe quel autre utilitaire de compression que vous avez utilisé.
Ça a l'air bien. Quelques commentaires: pourquoi gunzip + tar pour .tar.gz, mais tar -zt pour .tgz? Ils sont tous deux les mêmes de toute façon. bzless aussi ne fait pas trop bien dans les scripts ;-) Et probablement le fichier sera un tar.bz2 de toute façon, donc vous avez vraiment besoin de tar -jt – Wim
BTW cela montrera seulement les fichiers correspondants par leur chemin * dans * l'archive, vous ne connaîtra pas le nom de l'archive de cette façon. – Wim
puis-je suggérer d'utiliser la commande 'file' pour déterminer le type d'archive plutôt que l'extension de fichier –