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.
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).
Odpowiedzi:
Możesz przekazać
-S
opcję używania przyrostka innego niż.gz
.Jeśli chcesz, aby nieskompresowany plik miał inną nazwę, uruchom
(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
gzip
usuwa 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ć-c
lub przekierować.Zauważ, że
gunzip <somefile >somefile
to nie zadziała, ponieważgunzip
proces zaczyna widzieć plik obcięty do 0 bajtów, gdy zaczyna czytać. Gdybyś mógł wywołać obcinanie, togunzip
odniosłoby się do jego własnego wyjścia; tak czy inaczej, tego nie da się zrobić na miejscu.źródło
Możesz zrobić coś takiego:
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).
źródło
gzip
ale niegunzip
...zcat
:)