Попытка использовать awk для поиска файла по заданным c строкам и записи «совпало» после печати каждой строки, если она совпадает.
Например, если у меня есть файл, который содержит список имен и адресов электронной почты, но я хочу сопоставлять только письма, заканчивающиеся на "@ yahoo.com", я хочу, чтобы он распечатал эту строку со словом "совпал" в конец и если строка НЕ содержит @ yahoo.com, я просто хочу, чтобы она распечатала эту строку и продолжила.
awk -F, '{if($3~/yahoo.com/){ print $1,$2,$3 " matched"}else{ print $1,$2,$3 }}' emails.txt
Это возвращает:
Joe Smith joe.smith@yahoo.com matched
John Doe john.doe@gmail.com
Sally Sue sally.sue@yahoo.com`
Так что это только сопоставляя первый @ yahoo.com, затем печатая другие строки независимо от их адреса электронной почты. Чего мне не хватает?