Domyślnym działaniem gunzip jest usunięcie pliku .gz po jego rozpakowaniu.
Jak zapobiec usuwaniu pliku?
Jeśli ta funkcja nie jest uwzględniona, to czy istnieje alternatywny program, który na to pozwala?
Używam Ubuntu 9.04
-k .
Domyślnym działaniem gunzip jest usunięcie pliku .gz po jego rozpakowaniu.
Jak zapobiec usuwaniu pliku?
Jeśli ta funkcja nie jest uwzględniona, to czy istnieje alternatywny program, który na to pozwala?
Używam Ubuntu 9.04
-k .
Odpowiedzi:
Szukasz:
gzcat x.txt.gz >x.txt
gzcatKomenda jest równoważna gunzip -cktóry po prostu pisze do strumienia wyjściowego stdout. Spowoduje to pozostawienie skompresowanego pliku bez zmian. Możesz więc użyć również:
gunzip -c x.txt.gz >x.txt
Zauważ, że w niektórych systemach gzcat jest również znany jako zcatdziałający w ten sposób:
zcat x.txt.gz >x.txt
-kaby zachować oryginalny plik.
Możesz użyć -copcji gunzip, która zapisuje dane wyjściowe na standardowe wyjście, a następnie przesyła je do wybranego pliku:
gunzip -c compressed-file.gz > decompressed-file
Więcej szczegółów na stronie podręcznika .
Prostszym rozwiązaniem jest po prostu użycie gunzip jako takiego filtra:
gunzip < myfile.gz > myfile
gunzipnigdy nie wie, jaki plik jest pobierany, wszystko, co widzi, to strumień danych, więc nie można zmienić oryginalnego pliku.
Jeśli tak naprawdę jest to tarball (rozszerzenie .tgz lub .tar.gz), to zamiast przekierowywać do pliku jak wszystkie dotychczasowe odpowiedzi, będziesz chciał go potokować do tar, tak:
gunzip -c myfile.tar.gz | tar xvf -
aby uzyskać rzeczywistą zawartość.
Gnu tar może odczytywać pliki gzip: tar -zxsvf myfile.tar.gzlub tar -jxzvf myfile.tar.bz2pliki bzip tar.