web-dev-qa-db-fra.com

Ouvrir le fichier pdf dans tar.gz sans extraire

J'ai un fichier tar.gz contenant des fichiers PDF. Je veux ouvrir un fichier PDF spécifique sans l'extraire. Est-ce possible d'utiliser terminal via une commande (je sais que nous pouvons le faire en utilisant une interface graphique mais je veux utiliser un terminal)

3
Gaurav Dalpatyan

Pour lister les fichiers (non-ouverts) dans l'archive sans les extraire, exécutez la commande suivante:

tar -tf myarchive.tar.gz

Pour extraire et ouvrir directement, exécutez la commande suivante:

tar -xzf myarchive.tar.gz && evince *.pdf

Pour un traitement rapide: (extacté dans /tmp/mypdf puis supprimé)

mkdir /tmp/mypdf && tar -xzf myarchive.tar.gz -C /tmp/mypdf && cd /tmp/mypdf && evince *.pdf && cd .. && rm -r mypdf

myarchive.tar.gz est le nom de votre exemple d'archive.


Pour extraire un fichier spécifique,

mkdir /tmp/mypdf && tar -xzf myarchive.tar.gz -C /tmp/mypdf "<file.pdf>" && cd /tmp/mypdf && evince *.pdf && cd .. && rm -r mypdf

"<file.pdf>" est le nom du fichier que vous voulez extraire et ouvrir.

J'espère que c'est utile. Pour les fonctions avancées, la commande scriptée est utile en exécutant le script dans un but spécifique.

4
Pandya

Pour ce faire dans une seule ligne de commande, vous avez besoin d'un visualiseur pdf qui peut gérer les entrées à partir d'un tube. Le seul lecteur avec cette option que je connaisse est le logiciel display de ImageMagicks. Ce n'est pas très confortable (les fichiers volumineux peuvent prendre un certain temps), mais cela peut être pratique pour vous.

tar xOfz <archive> <path/to/file/in/archive> | display

(Les fichiers pdf volumineux peuvent prendre un certain temps.)

4
TAq

Ouvrir sans extraire n'est pas possible. Les applications graphiques extraient les fichiers temporairement avant de les ouvrir ...

Si vous avez un fichier tar.gz contenant les fichiers PDF et que vous souhaitez extraire un ou plusieurs fichiers à l'aide de la ligne de commande, vous pouvez utiliser:

tar -xzf MyArchive.tar.gz MyPDF5.pdf

tar -xzf MyArchive.tar.gz MyPDF6.pdf MyPDF3.pdf

tar -xzf MyArchive.tar.gz "My PDF 128.pdf"

Vous pouvez également extraire un fichier d'un dossier de l'archive (la structure de répertoires sera conservée):

tar -xzf MyArchive.tar.gz "My Archive Folder/My Other PDF.pdf"

Si vous ne souhaitez pas conserver la structure de répertoires, vous pouvez utiliser --strip-components suivi du niveau du sous-dossier:

tar -xzf MyArchive.tar.gz "My Archive Folder/My Other PDF.pdf" --strip-components 1

tar -xzf MyArchive.tar.gz "e-Books/Favorites/Ubuntu Linux/My PDF about Ubuntu.pdf" --strip-components 3

Veuillez noter que le nom de votre fichier d'archive doit également être cité deux fois s'il contient des espaces.

Dans les exemples ci-dessus, je suppose que vous vous trouvez dans le dossier contenant le fichier archive et que vous souhaitez l'extraire.

Avant d'utiliser la commande tar, utilisez la commande "cd" pour accéder au dossier dans lequel vous souhaitez extraire les fichiers. Si l'archive est située dans un autre dossier, indiquez simplement son chemin d'accès absolu ["/ home/mon nom d'utilisateur/Bureau/Mon dossier/Mon autre archive.tar.gz"] (utiliser un chemin d'accès relatif peut également s'avérer utile dans certains cas).

PS: s’il s’agissait d’un simple fichier texte (txt), le paramètre "-O" à la fin de la commande aurait pu être ce que vous recherchiez, mais comme il s’agit d’un PDF, il ne le sera pas. très utile ... Selon TAq answer , "display" de ImageMagick est capable de gérer cette PDF comme vous le souhaitez avec un tube.

tar -xzf MyArchive.tar.gz "My PDF 128.pdf" -O | display
3
Golboth