bzcat *.log | sed # etc
работает, но так как файлы размером в несколько гигабайт, для завершения требуется время.
Есть ли способ сделать это быстрее?
Я старался
echo *.log | xargs -P 4 bzcat | sed # etc
но линии перепутаны.
Чтобы использовать несколько ядер ЦП (кроме запуска нескольких экземпляров bzip2
и возникновения проблем, которые вы заметили), вы можете использовать многопоточную реализацию сжатия bzip2. Кажется, их довольно много, к сожалению, bzip2
по умолчанию (и bzcat
который идет с ним) не является одним из них.
Вот ссылки на некоторые из них, некоторые могут даже прийти с вашим дистрибутивом
Для lbzip2
также существует lbzcat
, но для pbzip2
, mpibzip
и любой другой реализации, которая пытается совместить командную строку с bzip2
должно работать следующее:
pbzip2 -d -c *.log | sed # etc