Jak pobrać kilka pierwszych wierszy z pliku gziped? Próbowałem zcat, ale generuje błąd
zcat CONN.20111109.0057.gz|head
CONN.20111109.0057.gz.Z: A file or directory in the path name does not exist.
zcat(1)
mogą być dostarczane przez compress(1)
lub przez gzip(1)
. Wygląda na to, że w Twoim systemie compress(1)
szuka pliku z .Z
rozszerzeniem.
Przełącz się gzip -cd
na zamiast, zcat
a twoje polecenie powinno działać poprawnie:
gzip -cd CONN.20111109.0057.gz | head
Wyjaśnienie
-c --stdout --to-stdout
Write output on standard output; keep original files unchanged. If there are several input files, the output consists of a sequence of independently compressed members. To obtain better compression, concatenate all input files before compressing
them.
-d --decompress --uncompress
Decompress.
tar -xzOf some_huge_file.tar.gz | head
zless file.gz | head
.zmore
nadal pozostawia cię z pękniętą rurą.zless
wydaje się być właściwą drogą.W niektórych systemach (np. Mac) musisz użyć
gzcat
.źródło
Na komputerze Mac musisz użyć
<
z zcat:zcat < CONN.20111109.0057.gz|head
źródło
Jeśli potrzebny jest ciągły zakres linii , jedną z opcji może być:
gunzip -c file.gz | sed -n '5,10p;11q' > subFile
gdzie linie między piątą a dziesiątą linią (obie włącznie)
file.gz
są wyodrębniane do nowejsubFile
. Informacje na tematsed
opcji można znaleźć w instrukcji .Jeśli każdy, powiedzmy, piąty wiersz jest wymagany:
gunzip -c file.gz | sed -n '1~5p;6q' > subFile
który wyodrębnia pierwszą linię i przeskakuje przez 4 linie, wybiera piątą linię i tak dalej.
źródło
Ten fragment kodu awk pozwoli Ci pokazać nie tylko kilka pierwszych wierszy, ale także zakres, który możesz określić. Doda również numery wierszy, których potrzebowałem do debugowania komunikatu o błędzie wskazującego na pewną linię w dół w pliku gzip.
Oto fragment kodu awk użyty w jednej linijce powyżej. W awk NR jest zmienną wbudowaną (liczba dotychczas znalezionych rekordów), która zwykle jest odpowiednikiem numeru wiersza. zmienne od i do są pobierane z wiersza poleceń za pomocą opcji -v.
źródło