AWK: перенаправление вывода скрипта из скрипта в другой файл с динамическим именем

Я знаю, что могу перенаправить вывод awk на печать в другой файл из скрипта, например:

awk '{print $0 >> "anotherfile" }' 2procfile

(Я знаю, что это фиктивный пример, но это всего лишь пример...)

Но мне нужно перенаправить вывод в другой файл с таким динамическим именем

awk -v MYVAR"somedinamicdata" '{print $0 >> "MYWAR-SomeStaticText" }' 2procfile

И вывод должен быть перенаправлен на somedinamicdata-SomeStaticText.

Я знаю, что могу сделать это через:

awk '{print $0  }' 2procfile >> "$MYVAR-somedinamicdata"

Но проблема в том, что это более крупный awk-скрипт, и мне приходится выводить в несколько файлов в зависимости от определенных условий (а этот awk-скрипт вызывается из другого bash, и он передает какую-то динамическую переменную через ключ -v... и сын на.

Возможно ли это как-нибудь?

Заранее спасибо.


person Zsolt Botykai    schedule 19.11.2008    source источник
comment
awk -v MYVAR=somedinamicdata '{print $0 ›› (MYWAR -SomeStaticText) }' 2procfile не работает?   -  person Johannes Schaub - litb    schedule 19.11.2008
comment
Вы спасли мне жизнь. Отправьте это как ответ, и я приму его.   -  person Zsolt Botykai    schedule 19.11.2008


Ответы (1)


Я думаю

awk -v MYVAR="somedinamicdata" '{print $0 >> (MYVAR "-SomeStaticText") }' 2procfile

должен сделать это. Конкатенация строк в awk просто ставится одна за другой.

person Johannes Schaub - litb    schedule 19.11.2008