Comment compter le nombre de fichiers à l'intérieur d'un tar.gz fichier (sans décompression)?
J'ai un tar.gz le fichier que j'ai faite par pigz (parallèle gzip). J'ai voulu compter le nombre de fichiers dans le fichier compressé sans le décompresser.
- Je utiliser cette commande:
tar -tzf file.tar.gz
mais j'ai une erreur:
tar: This does not look like a tar archive
tar: Skipping to next header
Est-ce parce que j'ai utilisé pigz au lieu de gzip? Si oui comment puis-je compter le maintenant?
- Cela devrait fonctionner. Vous devez vous montrer exactement comment vous avez fait de la .tar.gz fichier. pigz vs gzip ne ferait aucune différence ici, en supposant qu'il a été fait correctement.
- Par ailleurs, il est nécessaire de décompresser et de vous décompressez avec le
tzf
. Peut-être vous dire sans stocker les fichiers obtenus. pigz
etgzip
sont deux implémentations d'un même schéma de compression, de sorte que ne pas être la question.
Vous devez vous connecter pour publier un commentaire.
Puisque c'est un tar et gzip archive, vous devez utiliser
z
option pour utiliser gzip. Alors tout simplement, vous pouvez compter les lignes avecwc
.gzip -cd file.tar.gz | tar -tvv | grep -c ^-
mais deux fois plus vite: 8.5 minutes, comparativement à 17 minutes à un débit de 6 gbits archive.vous pouvez utiliser le tar-vv option verbose deux fois pour pleine verbeux, alors grep le premier caractère d'autorisations de fichier. l' ^ signifie seulement correspondre premier caractère (début de ligne). la commande grep-c option de compter les lignes.
compter régulièrement les fichiers uniquement
J'ai trouvé la solution!
J'ai utilisé unpigz pour ces fichiers et il a changé le fichier extensions .le goudron . après que je pourrais utiliser tar-tzf sans aucun problème.
Merci!
tar -tzf
travaillé, alors que le fichier a été untar.gz
fichier. Comme je l'ai dit dans mon commentaire, vous devez fournir exactement la façon dont vous avez créé le fichier dans la première place.z
dans letar
de commande. Vous compresser avec gzip avec quiz
, puis une seconde fois avec pigz. Au lieu de cela, vous devez:tar cf - folder | pigz -9 -p 32 > file.tar.gz
. Qui va comprimer juste après à l'aide de pigz au lieu de gzip, puis votretar -tzf
fonctionne.