2014-08-28 5 views
1

J'ai un fichier .tar très volumineux qui contient plusieurs fichiers .gz. Je voudrais afficher quelques lignes dans l'un des fichiers individuels sans avoir à les désactiver. Je peux voir les fichiers en utilisant:Afficher plusieurs lignes d'un fichier dans un fichier tar.gz

tar -tzf TarFile # doesn't actually end in .tar 

je reçois:

TarFile/ 
FileA.gz 
FileB.gz 
FileC.gz 
FileD.gz 

Je voudrais voir seulement quelques lignes de l'un des fichiers individuels. Normalement, je voudrais utiliser:

zless MyFile 

Est-il possible de combiner les deux commandes afin que je puisse voir quelques lignes de l'un des fichiers individuels?

Répondre

1
tar -xOf TarFile FileB.gz | zless 

Explication:

tar

-x

-O extrait à la sortie standard

-f Tarfile

FileB.gz le fichier dans l'archive tar pour extraire

| zless envoyer les données de fichier extraites à zless

Ce sera coûteux à faire plus d'une fois qu'il a besoin de goudron pour scanner l'archive chaque fois que vous exécutez la commande. Si l'archive tar est grande (et le fichier que vous voulez est en début d'archive), vous pouvez également utiliser --occurrence=1 sur cette ligne de commande pour que tar arrête de traiter le fichier tar immédiatement lorsqu'il trouve un fichier correspondant au fichier que vous avez indiqué pour extraire.

+0

On dirait que cela devrait fonctionner. Cependant, au lieu de voir le texte normal, je vois beaucoup de "^ _ <88>^H^@^@ @ @ @ @ D D r " ... Mes fichiers sont au format fastq mais doivent être lisibles comme un fichier texte régulier. Si j'essaie d'afficher un autre fichier fastq.gz qui n'est pas dans un fichier tar, je peux très bien utiliser zless. – user2165857

+0

Si vous extrayez le fichier avec tar -xf TarFile FileB.gz', puis exécutez 'zless FileB.gz', cela fonctionne-t-il? Que dit 'fichier FileB.gz'? Que dit 'fichier' si vous lancez' gunzip FileB.gz; fichier FileB'? –

+0

qui fonctionne. Malheureusement, il semble que j'ai maintenant écrit sur le fichier tar d'origine avec un dossier contenant le fichier .gz. Un moyen rapide de revenir? – user2165857

Questions connexes