Страница 1 из 1

Внешние переменные в AWK

Добавлено: 2009-09-08 11:17:52
slarionoff
Уважаемые коллеги!

Я хочу запихнуть переменную из своего скрипта внутрь awk и затем использовать её там. Я пытаюсь сделать это разными способами, но безуспешно:

Код: Выделить всё

awk '{print $FNT}' -v FNT=$FileNameTemplate $file          - ждёт ввода с stdin и выводит его на stdout;
awk '{print $FNT}' FNT=$FileNameTemplate $file             - выводит содержимое файла;
awk FNT=$FileNameTemplate '{print $FNT}' $file             - падает с синтаксической ошибкой;
awk -v FNT=$FileNameTemplate '{print $FNT}' $file          - падает с синтаксической ошибкой.
Как по-вашему, где тут косяк? Я пробовал даже уже вводить не переменную, а константу, строку в кавычках, но это ни на что не повлияло. Сейчас я уже просто хочу, чтобы переменная вошла в awk, проверяю я это её выводом, может, я неправильно её вывожу?

Re: Внешние переменные в AWK

Добавлено: 2009-09-08 11:52:01
hizel
а через ARGV не?

Re: Внешние переменные в AWK

Добавлено: 2009-09-08 22:29:30
slarionoff
А разве очередной аргумент не будет воспринят awk как имя следующего файла?

Re: Внешние переменные в AWK

Добавлено: 2009-09-08 23:29:04
abanamat

Код: Выделить всё

awk '{print FNT}' -v FNT=$FileNameTemplate $file

Re: Внешние переменные в AWK

Добавлено: 2009-09-09 9:06:10
slarionoff
abanamat писал(а):

Код: Выделить всё

awk '{print FNT}' -v FNT=$FileNameTemplate $file
Ух ты, это сработало!!! Большое спасибо! :smile: