bzcat *.log | sed # etc

работает, но так как файлы размером в несколько гигабайт, для завершения требуется время.

Есть ли способ сделать это быстрее?

Я старался

echo *.log | xargs -P 4 bzcat | sed # etc

но линии перепутаны.

1 ответ1

1

Чтобы использовать несколько ядер ЦП (кроме запуска нескольких экземпляров bzip2 и возникновения проблем, которые вы заметили), вы можете использовать многопоточную реализацию сжатия bzip2. Кажется, их довольно много, к сожалению, bzip2 по умолчанию (и bzcat который идет с ним) не является одним из них.

Вот ссылки на некоторые из них, некоторые могут даже прийти с вашим дистрибутивом

Для lbzip2 также существует lbzcat , но для pbzip2 , mpibzip и любой другой реализации, которая пытается совместить командную строку с bzip2 должно работать следующее:

pbzip2 -d -c *.log | sed # etc

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