Использование аргументов xargs несколько раз в одной команде - PullRequest
0 голосов
/ 14 февраля 2019

У меня есть скрипт, который проходит через сотни строк и выполняет команду 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, но это будет означать, что скрипт работает медленно.

...