LINUX.ORG.RU

Получить элемент массива из окружения

 ,


0

1

Привет.
Внутри awk скрипта легко получить значение переменной из шелла

export var=kjkj
...
awk ...{printf "%s", ENVIRON["var"]}

Но как прочитать шелл массив

export var=(kjkj dfd)
awk ...{printf "%s", ???}
★★

Последнее исправление: pavlick (всего исправлений: 1)

Ну или альтернатива - если у нас одна переменная со значением: qq\nww\nee\nrr\n…, как пробежаться по каждому элементу (между смежными \n)?

pavlick ★★
() автор топика
Ответ на: комментарий от pavlick

split(s, a [, r [, seps] ])

Только вот это учти:

VAR=(0 1 "2 3") awk 'BEGIN { print(ENVIRON["VAR"]) }'
(0 1 2 3)

Т. е. если ты так захачить хочешь - не сработает

anonymous
()

Желаемое официально невозможно, char *getenv(char*) ничего не знает ни о каких массивах баша.

legolegs ★★★★★
()
Ответ на: комментарий от legolegs

Хрен бы с getenv(), вот то что awk -v"D[1]=x" не работает — это обидно.

vodz ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.