109 votes

Comment puis-je faire un gunzip vers un répertoire de destination différent ?

Comment puis-je faire un gunzip vers un répertoire de destination autre que le répertoire actuel ?

Cela n'a pas fonctionné :

gunzip *.gz /putthemhere/

135voto

Michael Medin Points 605

Demandez à gunzip pour sortir sur la sortie standard et rediriger vers un fichier dans ce répertoire :

gunzip -c file.gz > /THERE/file

zcat est un raccourci pour gunzip -c .

Si vous voulez compresser plusieurs fichiers, il faut itérer sur tous les fichiers :

for f in *.gz; do
  STEM=$(basename "${f}" .gz)
  gunzip -c "${f}" > /THERE/"${STEM}"
done

(ici basename est utilisé pour obtenir la partie du nom de fichier sans l'extension)

4voto

fatal_error Points 651

Si vous avez besoin d'extraire un seul fichier y écrire dans un répertoire appartenant à la racine, puis utiliser sudo dd :

zcat filename.conf.gz | sudo tee /etc/filename.conf >/dev/null

Si le fichier provient d'une source distante (par exemple, ssh, curl https, etc.), vous pouvez procéder comme suit :

ssh remoteserver cat filename.conf.gz | zcat | sudo tee /etc/filename.conf >/dev/null

(Notez que ces exemples ne fonctionnent que pour un simple contrairement à l'exemple *.gz, qui correspond à tous les fichiers gzippés du répertoire).

1voto

Drew Noakes Points 487

Vous pouvez essayer avec > pour rediriger le résultat vers l'endroit que vous voulez.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X