Команда "эхо" не действует в awk - PullRequest
0 голосов
/ 14 июня 2019

У меня есть строка кода, которую мне нужно запустить в терминале Linux, и она не очень хорошо работает.

Я пытаюсь вывести некоторые переменные, полученные из моей почтовой очереди postfixв файл.Пока мне просто нужен этот кусок кода, но когда я пытаюсь его выполнить, ничего не происходит.

Код:

mailq | tail -n +2 | awk  'BEGIN { RS = "" } { echo $1  }' | tr -d '*!' >> myfile

Дополнительные примечания:

Если я изменюсьecho до print и удалите >> myfile, это работает, но мне нужно вывести его в файл.

1 Ответ

2 голосов
/ 14 июня 2019

awk не имеет команды echo; у него есть команда print. Выполнение замены должно быть достаточным, не снимая >> myfile.

Тангенциально, вы можете покончить с командой tail, сказав awk игнорировать первые две строки ввода и выйти сразу после третьей.

mailq | awk  ' NR == 3 { print $1; exit  }' | tr -d '*!' >> myfile
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...