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
gzcat
Komenda jest równoważna gunzip -c
któ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 zcat
działający w ten sposób:
zcat x.txt.gz >x.txt
-k
aby zachować oryginalny plik.
Możesz użyć -c
opcji 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
gunzip
nigdy 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.gz
lub tar -jxzvf myfile.tar.bz2
pliki bzip tar.