Вы, кажется, поклонник стиля отступа Allman .Я предполагаю, что блок if ($0 != ...
должен выполняться только там, где запись соответствует needle
- вам нужно поместить открывающую скобку в ту же строку, что и шаблон.
/.*needle.*/ {
if ($0 != "hay needle hay")
{
print "yay: ", $1;
next;
}
print "ya2";
next;
}
Вывод:
no
ya2
yay: needle
no
no
no
В awk символ новой строки - это терминатор, похожий на точку с запятой.
Теперь у вас есть:
# if the line matches "needle", print it verbatim
/.*needle.*/
# And **also**, for every line, do this:
{
if ($0 != "hay needle hay")
{
print "yay: ", $1;
next;
}
print "ya2";
next;
}