Параллельный обход GNU с отсутствующими столбцами

У меня есть программа, которая принимает переменное количество аргументов, и я хочу запустить программу параллельно с одним экземпляром для каждой строки входного файла. Входной файл разделен запятыми с некоторыми отсутствующими столбцами в конце некоторых строк. Как я могу указать GNU parallel пропускать подстановку параметров, когда столбец отсутствует?

Входной файл

A,B,C,D,E
A,B,C,D
A,B,C

Скрипт

parallel -a $1 --trim lr --colsep ',' echo {1} {2} {3} {4} {5}

Выход

A B C D E
A B C D {5}
A B C {4} {5}

Желаемый результат

A B C D E
A B C D
A B C

person Steve    schedule 05.08.2016    source источник


Ответы (1)


Если вы просто хотите заменить запятые на другой символ (например, пробел), просто:

cat YOUR_FILE | parallel --pipe sed \'s/,/ /g\'

Где " " между "," и "g" - это символ, который заменит вашу запятую.

Если вы также хотите выполнить некоторые преобразования, управляющие столбцами, попробуйте awk.

person arutaku    schedule 05.08.2016