автор, я правильно понимаю. что текстовый файл - это некий очень большой лог, 
генерируемый в постоянном режиме некой coolprog? по-моему, имеет смысл 
натравить на него logrotate, конфиги для него пишутся просто, в мане все 
расписано. настроить его, чтобы при достижении определенного размера (500M, 
допустим), он жал файл в очередной бэкап. бжкапы нумеруются, можно настроить, 
сколько штук их хранить, также перед сжатием файла на его месте тут же 
создается пустой, так что прога ничего не заподозрит. а можно при желании 
прикрутить к нему скрипт, который будет смотреть содержимое и вытаскивать из 
него. допустим, даты первой и последней записи, по которым именовать файл вроде 
coolprog.log_20120125-20120208.gz, чтобы при необходимости легко было найти 
нужный файл.
по-моему, куда более оптимальный вариант. ибо coolprog может и полгода 
работать, так фигли хранить устаревшую информацию?


2012-044 16:30 Alexey Pechnikov <pechni...@mobigroup.ru> wrote:
> Большой файл (больше размера ОЗУ и свободного дискового пространства)
> сжат, например, с помощью gzip или любого другого потокового
> упаковщика. Надо его разжать, причем с реверсом строк "на лету", не
> читая весь файл в память и не сохраняя на диск.
> 
> Понятно, что задача выполнима, вопрос, существует ли стандартное
> решение или надо свою утилиту писать?
> 
> 
> Примечание: конвейер zcat + tac может выполнить операцию, но увы, файл
> в процессе разжимается целиком.
> 


--
To UNSUBSCRIBE, email to debian-russian-requ...@lists.debian.org
with a subject of "unsubscribe". Trouble? Contact listmas...@lists.debian.org
Archive: http://lists.debian.org/20120214123133.1e86c...@ulf.tvoe.tv

Ответить