Использование переменной в выводе awk - PullRequest
2 голосов
/ 15 марта 2012

Следующее работает как ожидалось.

awk -F'^' '{printf "set %s:%s %s\n",$1,$2, $7}' todel.txt | sed 's/$/\\r\\n/' >> tofile.txt

Но когда я пытаюсь добавить переменную к выводу, как показано ниже, я получаю ошибку:

awk -F'^' '{printf "set %s:%s:%s %s\n",$1,$2,$myvar $7}' todel.txt | sed 's/$/\\r\\n/' >> tofile.txt

1 Ответ

5 голосов
/ 15 марта 2012

$myvar не раскрывается в одинарных кавычках.
Вы можете использовать опцию -v для передачи переменной оболочки в awk:

awk -F'^' -v myvar=$myvar '{printf "set %s:%s:%s %s\n",$1,$2,myvar,$7}' todel.txt
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...