Я хочу подражать функциональности gzcat | хвост -n.Как я могу заархивировать файл без чтения всего его содержимого?
Это было бы полезно в случае, когда есть огромные файлы (из нескольких ГБ или около того). Могу ли я задержать последние несколько строк такого файла без его чтения с самого начала? Я сомневаюсь, что это будет невозможно, поскольку я предполагаю, что для gzip кодировка будет зависеть от всего предыдущего текста.
Но все же я хотел бы услышать, если кто-то попытался сделать что-то подобное - возможно, исследовать алгоритм сжатия, который мог бы обеспечить такую функцию.
GZIP не текстуального но двоичный файл. Таким образом, нет никаких «строк», как в текстовых данных, которые «tail» мог бы вернуть. – Gumbo
Возможно, вы захотите проверить [аналогичный вопрос на SO] (http://stackoverflow.com/questions/14225751/random-access-to-gzipped-files), [zlib FAQ] (http://zlib.net) /zlib_faq.html#faq28) и [examples/zran.c] (https://github.com/madler/zlib/blob/master/examples/zran.c) в [zlib] (http: // zlib. net) распределение. –