Extrait de la liste des noms de fichiers dans une archive zip quand `unzip-l`
Quand je fais unzip -l zipfilename
, je vois
1295627 08-22-11 07:10 A.pdf
473980 08-22-11 07:10 B.pdf
...
Je ne veux voir les noms de fichiers. J'ai essayer cette
unzip -l zipFilename | cut -f4 -d" "
mais je ne pense pas que le délimiteur est juste " "
.
- Si le nombre de places est fixé, vous avez à faire progresser le domaine en conséquence, comme
-f7
ou donc. Si la position du nom de fichier est fixe, l'utilisation-b
à la place. - Connexes sur Super-Utilisateur: Afficher les fichiers dans l'archive ZIP sur Linux
Vous devez vous connecter pour publier un commentaire.
En supposant aucun des fichiers d'avoir des espaces dans les noms de:
Mon décompresser de sortie est à la fois un en-tête et pied de page, de sorte que le script awk devient:
Une version qui gère les noms de fichiers avec des espaces:
awk
script un peu. totalement comprendre si vous n'avez pas le temps pour cela.NF
variable qui est le nombre de champs.$NF
est la valeur du dernier champ, donc, c'est comment vous obtenez le nom du fichier. Le deuxième script fonctionne en définissant la variablep
à true lors de la première ligne avec "-----" s'affiche et le{printf $NF}
bloc s'exécute uniquement sip
est vrai.unzip -l -qq filename.zip
. Alors le plus simple awk déclaration de travaux.La façon la plus simple pour ce faire est d'utiliser la commande suivante:
ou
Cette liste uniquement les noms de fichiers, un sur chaque ligne.
Les deux commandes sont exactement équivalents. Le
-Z
option indique à décompresser pour traiter le reste des options comme zipinfo options. Voir les pages de man pour décompressez et zipinfo.Si vous avez besoin de répondre pour les noms de fichiers avec espaces, essayez:
Utiliser awk: