LINUX.ORG.RU

непростой awk внутри скрипта


0

1

в команде awk '{print $2}' , для print необходимо указывать именно$число.

в зависимости от условий в скрипте мне нужно выдернуть n-ое значение. собсно получается что-то вроде

...

pos=4

...

w=($(cat $filename | awk '{print $pos}'))

но при отображении $w выводится вся строка: при подстановке получается выражение вида awk '{print 4}' , что конечно не правильно.

как можно сделать запись так, чтобы при подстановке получалось вида awk '{print $4}'

те надо впихнуть ещё знак доллара

eval $(echo «cat qwe | awk '{print \$$pos}'»)

aol ★★★★★
()

1) cat | awk - излишество, достаточно awk { program text} имяфайла
2) Не проще ли обойтись cut -f'разделитель' -d $pos имяфайла?

AITap ★★★★★
()
Ответ на: комментарий от sdio

да, маны надо читать.. спасибо, записал! :)

aol ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.