Как получить несколько строк из сжатого файла.gz без распаковки


Как получить первые несколько строк из файла gziped ? Я пробовал zcat, но его бросает ошибка

zcat CONN.20111109.0057.gz|head
CONN.20111109.0057.gz.Z: A file or directory in the path name does not exist.
4 69

4 ответа:

zcat(1) может быть поставлено любым compress(1) или gzip(1). В вашей системе это, кажется,compress(1) -- он ищет файл с

на некоторых системах (например, Mac), вы должны использовать gzcat.

на Mac вам нужно использовать < с zcat:

zcat < CONN.20111109.0057.gz|head

если непрерывный диапазон строк должен быть, один вариант может быть:

gunzip -c file.gz | sed -n '5,10p;11q' > subFile

где линии между 5-й и 10-й линии (включительно) в размере file.gz извлекаются в новый subFile. Ибо sed "параметры", см. руководство.

если каждая, скажем, 5-я строка требуется:

gunzip -c file.gz | sed -n '1~5p;6q' > subFile

который извлекает 1-ю строку и перепрыгивает через 4 строки и выбирает 5-ю строку и так далее.