Я обрабатываю текстовый файл с несколькими параллельными процессами, порожденными xargs. Мне также нужно записать stdout из каждого процесса в отдельный файл журнала. Ниже приведен пример, где вывод каждого процесса чередуется в один файл - не то, что я хочу.Bash: Запись stdout из нескольких параллельных процессов xargs в отдельные файлы журналов
В идеале, каждый файл_журнал должен быть пронумерован по количеству файлов линии, то есть, файл_журнал-1, файл_журнал-2 и т.д.
cat inputfile.txt | xargs -n 1 -P 8 ./myScript.sh | tee logfile
Было бы неплохо, чтобы избежать внешнего скрипта обертки, если это возможно, но если есть способ обернуть myScript документом здесь, это сработает.
Внутри myScript.sh выполните файл 'exec> logfile - $$' или некоторые из них? В основном сценарий управляет его протоколированием, а не «xargs», пытающимся его использовать. – bishop