Передача параметра в awk скрипт

Надо написать скрипт, который обрабатывает определенный столбец, который предается параметром, но когда я передаю его в виде: awk -f script.awk text.txt 2 то выдает ошибку awk: cannot open 2., где 2 - номер столбца. Как правильно передавать параметры в скрипт?


Ответы (1 шт):

Автор решения: Ainar-G

Используйте параметр -v для присваивания переменной. Пример:

$ more ./tmp.txt
1 a
2 b
3 c
$ awk -v 'x=1' '{ print $x; }' ./tmp.txt 
1
2
3
$ awk -v 'x=2' '{ print $x; }' ./tmp.txt 
a
b
c
$
→ Ссылка