2010-05-09 23:15:23 +0000 2010-05-09 23:15:23 +0000
83
83

Wie kann ich in ein anderes Zielverzeichnis gunzipen?

Wie kann ich gunzip in ein anderes Zielverzeichnis als das aktuelle ausführen?

Dies hat nicht funktioniert:

gunzip *.gz /putthemhere/

Antworten (3)

110
110
110
2010-05-09 23:23:16 +0000

Bitten Sie gunzip, auf die Standardausgabe auszugeben und in eine Datei in diesem Verzeichnis umzuleiten:

gunzip -c file.gz > /THERE/file

zcat ist eine Abkürzung für gunzip -c.

Wenn Sie mehrere Dateien gunzipen wollen, iterieren Sie über alle Dateien:

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

(hier wird basename verwendet, um den Teil des Dateinamens ohne die Erweiterung zu erhalten)

2
2
2
2017-01-09 20:24:57 +0000

Wenn Sie eine einzelne Datei extrahieren und in ein Root-Verzeichnis schreiben müssen, dann verwenden Sie sudo dd:

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

Wenn die Datei von einer entfernten Quelle kommt (z. B. ssh, curl https, usw.), können Sie es so machen:

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

(Beachten Sie, dass diese Beispiele nur für eine einzige Datei funktionieren, im Gegensatz zum Beispiel *.gz, das alle gzipped-Dateien im Verzeichnis umfasst).

1
1
1
2010-05-09 23:21:09 +0000

Sie können mit > versuchen, das Ergebnis an die gewünschte Stelle umzuleiten.