web-dev-qa-db-fra.com

Afficher la liste des fichiers dans l’archive Zip sous Linux

Comment afficher la liste des fichiers dans une archive Zip sans la décompresser?

372
danidacar

L'utilitaire less est capable de jeter un coup d'œil dans une archive Zip. En fait, si vous regardez les sorties de unzip -l zipfile et less zipfile, vous verrez qu'elles sont identiques.

433
ayaz

Essayez unzip -l files.Zip | less

Voir aussi man unzip pour plus d'options

105
Ken Ratanachai S.

Pour lister le contenu de Zip:

zipinfo -1 myzipfile.Zip

Pour une sortie détaillée:

zipinfo myzipfile.Zip
54
kinORnirvana

Veuillez utiliser

vim Zip_FILE_NAME

pour le même. C’est un moyen simple et facile à retenir.

29
Rajasekhar Tolety

Vous pouvez afficher le fichier Zip en tant que répertoire (dans lequel vous utilisez cd, ls, etc.) en le montant avec le système de fichiers Fuse-Zip virtual.

mkdir foo.d
Fuse-Zip foo.Zip foo.d
ls foo.d
cat foo.d/README
...
fusermount -u foo.d
rmdir foo.d

Un autre système Fuse système de fichiers pertinent est AVFS . Il crée une vue de l'ensemble de votre hiérarchie de répertoires où toutes les archives ont un répertoire associé (même nom avec # ajouté à la fin) qui semble contenir le contenu de l'archive.

mountavfs
ls ~/.avfs/$PWD/foo.Zip\#
cat ~/.avfs/$PWD/foo.Zip\#/README
...
umountavfs

De nombreux gestionnaires de fichiers modernes (par exemple, Nautilus, Dolphin) affichent le contenu des archives de manière transparente.

AVFS est en lecture seule. Fuse-Zip est en lecture-écriture, mais sachez que les modifications ne sont écrites dans le fichier Zip qu'au moment du démontage. Ne commencez donc pas à lire l'archive en pensant qu'elle sera modifiée jusqu'au retour de fusermount -u.

12
Gilles

Au moins dans Ubuntu, la commande la plus simple est probablement la suivante:

view [zipfile]

Cela ouvrira la liste des fichiers dans votre éditeur de texte standard (nano, vim, etc.).

9
Samuel Lampa

Si vous êtes plus orienté graphiquement, Midnight Commander peut également parcourir les fichiers Zip comme s'il s'agissait de répertoires normaux.

2
Charles Burge

C'est en fait unzip -l file.Zip | grep "search" ou si vous avez beaucoup de fichiers

for i in `ls *Zip`; do 
  unzip -l $i | grep "search"; 
done

Mise à jour: changé de '-p' en '-l' afin de rechercher des fichiers.

1
Rob

Une solution plus complète

La réponse précédente de @kinORnirvana est ma préférée pour produire un fichier avec le contenu d’une archive Zip.

zipinfo [-1] archive.Zip > archive_content.txt

Cependant, je recommande vim ou emacs (pas nano) si vous avez besoin de naviguer dans un fichier d’archive ou même d’afficher le contenu d’un fichier qu’il contient.

vim archive.Zip

Cette approche fonctionne aussi avec d'autres formats d'archives:

vim file.tar
vim file.tar.gz
vim file.tar.bz2

Avec vim ou emacs vous pouvez:

  • parcourir la structure de répertoire du fichier archive.
  • voir le contenu de n'importe quel fichier à l'intérieur du fichier archive.
0
ePi272314

(yaa) Encore une autre réponse:

Alias ​​cette commande:

alias vless='/usr/share/vim/vim73/macros/less.sh'

et vous pouvez utiliser vless file.Zip pour tirer parti du script vi (ou vim) moins.

(bon aussi pour substituer moins, afin que vous puissiez avoir des couleurs)

0
Dr Beco