Gzip rozpakować na plik z innym rozszerzeniem?

10

Czy można użyć gzipdo dekompresji pliku spakowanego gzip, bez rozszerzenia gz i bez przenoszenia pliku?

Tyilo
źródło
Odwrotnie
Ciro Santilli 冠状 病毒 审查 六四 事件 法轮功

Odpowiedzi:

9

Możesz przekazać -Sopcję używania przyrostka innego niż .gz.

gunzip -S .compressed file.compressed

Jeśli chcesz, aby nieskompresowany plik miał inną nazwę, uruchom

gzip -dc <compressed-file >uncompressed-file
gunzip <compressed-file >uncompressed-file

(te polecenia są równoważne).

Zwykle rozpakowywanie przywraca nazwę i datę oryginalnego pliku (kiedy został skompresowany); tak się nie dzieje -c.

Jeśli chcesz, aby plik skompresowany i plik nieskompresowany miały tę samą nazwę, nie możesz tego zrobić bezpośrednio, musisz zmienić nazwę pliku skompresowanego lub nazwę pliku nieskompresowanego. W szczególności gzipusuwa i ponownie tworzy plik docelowy, więc jeśli musisz zmodyfikować plik w miejscu, ponieważ nie masz uprawnień do zapisu w katalogu, musisz użyć -club przekierować.

cp somefile /tmp
gunzip </tmp/somefile >|somefile

Zauważ, że gunzip <somefile >somefileto nie zadziała, ponieważ gunzipproces zaczyna widzieć plik obcięty do 0 bajtów, gdy zaczyna czytać. Gdybyś mógł wywołać obcinanie, to gunzipodniosłoby się do jego własnego wyjścia; tak czy inaczej, tego nie da się zrobić na miejscu.

Gilles „SO- przestań być zły”
źródło
2

Możesz zrobić coś takiego:

gzip -d - < gzippedfilewithnoextention > ungzippedfile

Teraz nie możesz tego zrobić i rozpakować do tej samej nazwy pliku. Musisz później zmienić nazwę nieskompresowanego pliku (tzn. Nie możesz w ten sposób rozpakować w miejscu).

Mata
źródło
1
lub po prostu „gunzip -c gzfile> ungzfile”
Chris Card
Zaskakujące jest to, że niektóre instalacje systemu operacyjnego mają, gzipale nie gunzip...
Mat
1
Jest też zcat:)
galaktyka