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