@Znik, gzip / gunzip w wersji 1.6 i nowszej ma opcję-k .
aleksandr barakin
Odpowiedzi:
220
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:
Dziękuję za odpowiedź. Dorastając z pkunzip w DOS, uważam to za tak dziwne, że nie ma opcji, aby zachować plik. Zwłaszcza z takim narzędziem jak gzip, które jest tak szeroko stosowane ... po prostu dziwne.
Sen
4
FYI, właściwie nie mam gzcat. Ani mój system lokalny, ani system, w którym zostałem zalogowany. Więc muszę użyć gunzip -c
Sen
26
to prawdopodobnie tylko zcat w twoim systemie.
user23307,
2
Dodatkowa opcja zachowania pliku byłaby naprawdę miła. Na przykład b (un) zip2 używa podobnej składni i pozwala po prostu dodać, -kaby zachować oryginalny plik.
schnaader
1
Możesz także dodać alias linii gzcat = "gunzip -c" do swojego .bashrc
James Kingsbery
55
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:
Nawiasem mówiąc, zauważ, że strona man, o której mowa powyżej, zawiera opcję -k, co oznacza zachowanie plików wejściowych. Może działa to w wersji BSD, ale nie w mojej, więc rozwiązanie -c wydaje się być poprawne.
31
Prostszym rozwiązaniem jest po prostu użycie gunzip jako takiego filtra:
Myślę, że jest to najczystszy sposób, ponieważ gunzipnigdy nie wie, jaki plik jest pobierany, wszystko, co widzi, to strumień danych, więc nie można zmienić oryginalnego pliku.
Walf,
12
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:
-k
.Odpowiedzi:
Szukasz:
gzcat
Komenda jest równoważnagunzip -c
który po prostu pisze do strumienia wyjściowegostdout
. Spowoduje to pozostawienie skompresowanego pliku bez zmian. Możesz więc użyć również:Zauważ, że w niektórych systemach gzcat jest również znany jako
zcat
działający w ten sposób:źródło
-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:Więcej szczegółów na stronie podręcznika .
źródło
Prostszym rozwiązaniem jest po prostu użycie gunzip jako takiego filtra:
źródło
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:
aby uzyskać rzeczywistą zawartość.
źródło
Użyj
-c
opcji, aby rozpakować plik na standardowe wyjście. Nie dotknie oryginalnego pliku.źródło
LUB
Komentarze:
źródło
Gnu tar może odczytywać pliki gzip:
tar -zxsvf myfile.tar.gz
lubtar -jxzvf myfile.tar.bz2
pliki bzip tar.źródło