[Comm] Значение переменной в awk
Pavel Usischev
=?iso-8859-1?q?usischev_=CE=C1_gmail=2Ecom?=
Вт Июн 14 09:21:02 MSD 2005
php-coder пишет:
> Подскажите пожалуйста, как подставить значение переменной в
> awk-выражение.
> BEGIN=`awk '/set 3/{print NR+2}' Translation.m`
> END=`awk '/set 4/{print NR-2}' Translation.m`
Вот эти, если экспортировать, будут видны в awk-программе через
ENVIRON["BEGIN"] и ENVIRON["END"].
Другой вариант:
awk -v startnum=$BEGIN -v endnum=$END ' . . . '
Переменные startnum и endnum будут доступны в программе. С именами BEGIN
и END будьте аккуратнее, в awk-программе это обозначения блоков кода,
как переменную использовать не получится.
Третий вариант:
awk 'BEGIN {print '$BEGIN'}'
То есть использование переменной выносить за одинарные кавычки, в
которых раскрытия переменных в (известных мне) shell не происходит.
--
С уважением,
Павел Усищев
--
С уважением,
Павел Усищев
Подробная информация о списке рассылки community