Поведение возврата на терминал

Проблема заключается в том, что переменные оболочки (включая массивы) недоступны внутри awk . Их необходимо явно передать с помощью параметра -v . Более того, вы не можете передать весь массив, но вы можете поместить массив в одну переменную и разбить его внутри awk :

awk -va="$(echo "${array[@]}")" 'BEGIN{OFS=FS=","; split(a,b," ")}{print $0,b[NR]}' input.csv

Это будет работать, пока у вас нет пробелов внутри элементов массива.

3
02.01.2018, 20:27
0 ответов

Теги

Похожие вопросы