GNU/Linux >> Tutoriels Linux >  >> Linux

Extraction d'un fichier spécifique d'une archive à l'aide de 7-Zip

Le man 7z la page indique :

  -i[r[-|0]]{@listfile|!wildcard}
         Include filenames

Vous devez spécifier explicitement ! avant le nom du fichier et protégez le commutateur de l'expansion bash avec des guillemets simples :7z x '-i!Windows/System32/BootRec.exe' winRE.wim

[email protected]:~$ 7z x '-i!Windows/System32/BootRec.exe' winRE.wim

7-Zip [64] 9.20  Copyright (c) 1999-2010 Igor Pavlov  2010-11-18
p7zip Version 9.20 (locale=en_US.UTF-8,Utf16=on,HugeFiles=on,4 CPUs)

Processing archive: winRE.wim

Extracting  Windows/System32/BootRec.exe

Everything is Ok

Size:       299008
Compressed: 227817568

(Vous pouvez éviter de garder le chemin complet en utilisant le e lettre de fonction :7z e '-i!Windows/System32/BootRec.exe' winRE.wim .)

BTW, si vous ne protégez pas le -i option avec des guillemets simples ou protégez-la avec des guillemets doubles, vous obtenez une erreur :

[email protected]:~$ 7z x "-i!Windows/System32/BootRec.exe" winRE.wim 
bash: !Windows/System32/BootRec.exe: event not found

Linux
  1. Utiliser la DLL Windows à partir de Linux

  2. Obtenir mtime d'un fichier spécifique en utilisant Bash ?

  3. Automatisation de la commande en cours d'exécution sur Linux à partir de Windows à l'aide de PuTTY

  4. pscp copier le fichier à distance de Windows vers Linux

  5. Extraire des fichiers spécifiques dans une archive tar à l'aide d'un caractère générique

Comment supprimer des lignes d'un fichier à l'aide de la commande Sed

Comment télécharger un fichier depuis un serveur en utilisant SSH ?

Obtenir une ligne spécifique à partir d'un fichier texte en utilisant uniquement un script shell

Utiliser du mastic pour scp de Windows à Linux

extraire un seul fichier d'un énorme fichier tgz

Utilisation de sed pour remplacer entre un modèle spécifique