Использование awk с переменными - PullRequest
6 голосов
/ 16 июня 2011
x=3
A=`echo $A|awk '{print $x}'`
echo $A

не печатает 3. Как я могу использовать переменные с awk *

Ответы [ 3 ]

10 голосов
/ 16 июня 2011

Передача переменных в awk с флагом -v.

x=3
A=`echo $A|awk -v y=$x '{print y}'`
echo $A
3 голосов
/ 23 сентября 2012

Вы можете использовать переменные оболочки следующим образом: "'$your-shell-variable'" или '$your-shell-variable'. Первый рассматривает переменную как строку, а второй - как число. Ниже приведен код, который вы хотите:

x=3    
A=`echo $A|awk '{print "'$x'"}'`    
echo $A
1 голос
/ 23 сентября 2012

Э-э, какой смысл повторять $A?Он просто создает бесполезную вилку и трубу.

x=3
A=`awk -v y=$x 'BEGIN {print y}'`
echo $A

И пока я в этом, это выглядит как запутанный и дорогой способ написания A=$x: -)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...