Вы можете использовать действие HOLD, возвращаемое управлением доступом.
Например:
/etc/postfix/main.cf:
smtpd_recipient_restrictions =
check_sender_access hash:/etc/postfix/sender_access
/etc/postfix/sender_access:
sender1@mydomain.com HOLD
sender2@mydomain.com HOLD
Затем вы можете управлять освобождением удержания с помощью команды postsuper.
См. Следующие дополнительные сведения:
http://www.postfix.org/access.5.html Обратите особое внимание на описание действия HOLD.
Использованиеgrep
:
grep '^C[nx]' file >newfile
Это позволит выделить строки, которые начинают со строкой Cn
или Cx
, и сохранить эти строки в новый файл с именем newfile
.
Это по-прежнему выделит строку, начинающуюся, например, с. Cxx
или Cn!
.
Использованиеawk
:
awk '$1 == "Cn" || $1 == "Cx"' file >newfile
Это приведет к сравнению строк вместо сопоставления с регулярным выражением. Он пропускал только те строки, чей первый столбец, разделенный пробелами -, был точно Cn
или Cx
и ничего больше.
perl -MList::MoreUtils=any -lane '
print if any { $F[0] eq $_ } qw/Cx Cn/;
' input.txt
Модуль List ::MoreUtils загружается для доступа к подпрограмме any, которая выбирает первое истинное утверждение из множества значений. Данное решение является расширяемым, если вы хотите добавить/изменить первые поля для проверки.
В случае, если вышеуказанный модуль не может быть найден, можно использовать приведенный ниже код:
perl -lane 'for my $e ( qw/Cx Cn/ ) { print,last if $F[0] eq $e }' input.txt