Возможно ли вызвать gnu параллельно таким образом, чтобы оно повторяло первую строку исходного ввода в STDIN каждого дочернего задания?
У меня есть CSV-файл, который содержит строку заголовка вверху. Например:
> cat large.csv
id,count
abc,123
def,456
У меня есть инструмент, который может извлекать столбцы по имени, а не по позиции:
> csv_extract large.csv count
123
456
Я могу суммировать значения последовательно как:
> csv_extract large.csv count | awk '{ SUM += $1 } END { print SUM }'
579
Фактический файл, который у меня есть, намного больше, и операция сложнее, чем суммирование, но применимы те же принципы. Я хотел бы использовать gnu параллельно для обработки файла, но я не знаю, можно ли сказать gnu параллельно повторять заголовок CSV для каждого задания.
В идеале я мог бы запустить операцию с чем-то вроде:
> cat large.csv | parallel --pipe --repeat-first-line "csv_extract /dev/stdin count | awk '{ SUM += $1 } END { print SUM }'"
579
Я выдвинул вариант - repeat-first-line выше, чтобы представить функциональность, которую я не могу понять. Я смотрел видео на YouTube и читал справочную страницу, но просто не понимаю, как это можно сделать, если это вообще возможно.
Спасибо!