Форум — Admin AWK - -запись внешней пеерменной 0 1 Как из awk записать внешнюю переменную (окружения)? Ссылка
или если я не правильно понял, тоПеременная=`awk '{print «чего тебе там надо»}'` outsider ★★ (16.12.11 12:12:29 MSK) Показать ответ Ссылка
Ответ на: комментарий от outsider 16.12.11 12:12:29 MSK export забыл перед переменной outsider ★★ (16.12.11 12:13:10 MSK) Показать ответ Ссылка
Ответ на: комментарий от outsider 16.12.11 12:13:10 MSK нет. Например:echo '1 2 3'|awk '{print $3}'получим - 3а вот как это значение записать в переменную окржения?Вариант: VAR1=`echo '1 2 3'|awk '{print $3}'` не подходит.Можно ли из самого awk? anonymus123 (16.12.11 12:16:16 MSK) автор топика Показать ответы Ссылка
Ответ на: комментарий от anonymus123 16.12.11 12:16:16 MSK Можно ли из самого awk?Нет. r2d2 (16.12.11 12:22:18 MSK) Ссылка
В awk переменные окружения доступны через массив ENVIRON.В стандарте написано, что это может зависеть от конкретной реализации awk, будет ли модификация этого массива затрагивать внешние переменные.Как это реализовано в разных awk'ах, я пока не знаю. Скажу лишь, что в «настоящем» awk (от Кернигана) изменение ENVIRON на переменные не влияет. anarquista ★★★★★ (16.12.11 12:26:47 MSK) Показать ответы Ссылка
Ответ на: комментарий от anarquista 16.12.11 12:26:47 MSK проверил gawk 4.0, mawk, busybox awk, awk из 9base. Нигде модификация ENVIRON не влияет на переменные окружения.Но стандарт не запрещает вам сделать такую свою реализацию awk! anarquista ★★★★★ (16.12.11 12:30:43 MSK) Показать ответ Ссылка
Ответ на: комментарий от anarquista 16.12.11 12:30:43 MSK anarquista> Но стандарт не запрещает вам сделать такую свою реализацию awk!Звучит глупо. Дочерний процесс не может повлиять на окружение родителя, никак, только родитель может. sdio ★★★★★ (16.12.11 12:36:13 MSK) Показать ответ Ссылка
Ответ на: комментарий от anarquista 16.12.11 12:26:47 MSK В awk переменные окружения доступны через массив ENVIRON.Мне нужно обратное - из awk записать переменную окржения anonymus123 (16.12.11 12:38:44 MSK) автор топика Ссылка
Ответ на: комментарий от sdio 16.12.11 12:36:13 MSK Не настолько глупо. Ведь awk может порождать дочерние процессы.awk 'BEGIN {ENVIRON[«HELLO»]=«WORLD»;system(«echo $HELLO»)}'что должна возвращать вот такая вот команда? anarquista ★★★★★ (16.12.11 12:45:06 MSK) Ссылка
Ответ на: комментарий от anonymus123 16.12.11 12:16:16 MSK чем вариант с export не устраивает?Давай попробую потелепатировать: awk это инструмент для работы с файлами с разделителями. Ты вычленяешь некое значение, которое хочешь передать вовне.export тут выше крыши zolden ★★★★★ (16.12.11 12:53:48 MSK) Ссылка