У меня есть некоторые файлы журналов, сжатые с помощью ZPAQ, которые я не хочу извлекать на диск каждый раз, когда мне нужно выполнить поиск событий. Я хотел бы использовать stdout, чтобы я мог обрабатывать вывод так же, как сжатые файлы GZ с помощью gzcat:

# gzcat logfile.gz | grep foobarEVENT

# zpaq l logfile.zpaq 
zpaq v6.42 journaling archiver, compiled Nov 20 2013
Reading archive logfile.zpaq

 Ver  Date      Time (UT) Attr           Size Ratio  File
----- ---------- -------- ------ ------------ ------ -------
>   1                              3873434570 0.0359 logfile
1 of 1 files shown. 3873434570 -> 139125985

Ver Last frag Date      Time (UT) Files Deleted   Original MB  Compressed MB
---- -------- ---------- -------- ------ ------ -------------- --------------
   1        1                          1      0    3873.434670     139.125985
0.529 seconds

1 ответ1

0

Я смог передать несжатые zpaq-файлы через стандартный stdout, создав именованный канал fifo и распаковав его в один процесс, а затем прочитав его из другого процесса.

Например:

$ mkfifo data_logfile
$ zpaq x logfile -force -to data_ &
$ grep searchTeXt data_logfile > grep_results.txt

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .