Это может быть тривиально, но я столкнулся с проблемой использования awk для простых целей, таких как печать строки в файле с помощью tcl-скрипта. У меня есть переменная var:
set var manager
sourcefile.txt:
ajay manager account 45000
sunil clerk account 25000
varun manager sales 50000
amit manager account 47000
tarun peon sales 15000
deepak clerk sales 23000
sunil peon sales 13000
satvik director purchase 80000
Я хочу поместить команду внутри tcl script (awk / grep), которая использует переменную var для поиска строки в исходном файле, а затем распечатать 4-й столбец строки, содержащей строку. Я не хочу искать менеджера напрямую, а использую var . Я использовал:
awk -v pat="$var" {$2 ~ pat {print $4 }} sorcefile.txt
Но это дает мне ошибку, говоря:
awk: 'pat' argument to '-v' not in var=value form
Также внутри tcl script:
awk '/manager/ {print $4}' sourcefile.txt
дает ошибку и
awk {/manager/ {print $4}} sourcefile.txt
работает хорошо Итак, требуемый вывод:
45000
50000
47000
Команда, которую мне нужно поместить в файл, а затем выполнить файл.