1

у меня есть CSV-файл, который мне нужен для фильтрации писем, помеченных словом «спам», строки выглядят так

email;text;somestatus;mailserver status response; response message
some@mail.com;mx.mail.com;2;connection reset; try later
thisspamshouldmatch@mail.com;somemx.record.com;3;spam message response; connection reset
thisshouldnotmatch@somedomain.net;spammxrecord.com;5;Deferred: lsjdflsdj; try later
shouldmatchspam@too.de;mx-too.de., dsn=4.0.0, stat=Deferred: Connection reset by mx-too.de.;4;Deferred: Connection reset by mx-too.de.

строки 3 и 5 должны совпадать

шаблон должен совпадать, если в первой части csv (символы до первого ';') содержится слово 'spam', он не должен совпадать, если слово находится в других столбцах csv

я пытался с

grep -e "spam[^;]*;\([^;]*;\)\{3\}"

кто-нибудь знает решение? Спасибо

1 ответ1

2

Попробуйте grep -e "^[^;]*spam[^;]*;"

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .