У меня есть скрипт, который проходит через сотни строк и выполняет команду Java для каждой строки.Чтобы запустить его параллельно, я использую xargs.Я был в состоянии распараллелить выполнение.Однако мое форматирование данных немного повлияло.
cat test.txt | xargs --max-procs=10 --max-args=6 -I '{}' kafka-run-class '{}' | column -t | tr -s ' ' , | sed -e "s/^/$(date '+%F %T'),Test,**'{}'**,/g"
Я хочу, чтобы аргумент из xargs использовался в sed!Это возможно?
Вывод из kafka-run-class ниже.
TOPIC PARTITION CURRENT-OFFSET LOG-END-OFFSET LAG CONSUMER-ID HOST CLIENT-ID
Test1 0 15336084 15336084 0 consumer-1-e9ff70f4-01e4-4c69-9c92-c568319c0e95 /192.1.127.32 consumer-1
Окончательный вывод, который я ожидаю, находится ниже.
2019-02-14 17:18:13,Test,**'{}'**,Test1,0,15336084,15336084,0,consumer-1-e9ff70f4-01e4-4c69-9c92-c568319c0e95,/192.1.127.32,consumer-1
Мне удалось этого добитьсяиспользование цикла for вместо xargs, но это будет означать, что скрипт работает медленно.