LINUX.ORG.RU

вопрос по awk


0

0

Вообщем делаю такую команду (взял из оффициальной доки по Virtuozzo):
# up2date -l --tmpdir=/tmp/up2date --dbpath /var/repo/redhat-as4/ | awk 'BEGIN { stage = 0; } stage == 0 && /^--*$/ {stage = 1; next; } stage == 1 && /^$/ { stage = 2; next } stage == 1 { print \$1; }' > /tmp/pkgs-list

и в итоге получаю вот такой баг

awk: cmd. line:1: BEGIN { stage = 0; } stage == 0 && /^--*$/ {stage = 1; next; } stage == 1 && /^$/ { stage = 2; next } stage == 1 { print \$1; }
awk: cmd. line:1: ^ backslash not last character on line - эта подсказка указывает на \ в выражении print \$1
There was some sort of I/O error: [Errno 32] Broken pipe

Сам в программировании под Shell и подобных вещах не разбираюсь, подскажите в чем тут может быть проблема?

anonymous

нужно удалить \ перед $1 в последнем блоке.

awk 'BEGIN { stage = 0; } stage == 0 && /^--*$/ {stage = 1; next; } stage == 1 && /^$/ { stage = 2; next } stage == 1 { print $1; }'

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