web-dev-qa-db-fra.com

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

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

Cela n'a pas fonctionné:

gunzip *.gz /putthemhere/
73
Scott Szretter

Demandez à gunzip de sortir en sortie standard et de rediriger vers un fichier de ce répertoire:

gunzip -c file.gz > /THERE/file

zcat est un raccourci pour gunzip -c.

Si vous voulez gunzip, plusieurs fichiers parcourent 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)

98

Si vous devez extraire un seul fichier et write dans un répertoire appartenant à la racine, utilisez Sudo dd:

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

Si le fichier provient d'une source distante (ssh, curl https, etc.), vous pouvez le faire 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 fichier single , contrairement à l’exemple * .gz, qui contient tous les fichiers gzippés du répertoire.)

2
Jamieson Becker

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

1
jangelfdez