Привет всем мне нужна помощь ... я должен очистить (удалить) спам сообщение из многих почтовых ящиков, так что я должен найти его. Сообщения помечены тегом с помощью разных антиспамовых инструментов, поэтому есть такие теги, как СПАМ, [СПАМ], *** СПАМ *** и т. Д. Поэтому я должен найти все сообщения, помеченные этими «ключевыми словами».Grep СПАМ помечено сообщение в почтовом ящике
Sample объект: *** SPAM *** Купить виагру
Я знаю, что Grep -l для имен файлов и Grep -E или для регулярных выражений задать расширенное.
grep -E "^Subject: \[SPAM\]"
grep -E "^Subject: \*\*\*SPAM\*\*\*"
grep -E "^Subject: \*\*\*\ SPAM\ \*\*\*" # (1 space before and after SPAM word)
Как разместить работу в одной линии? Я использовал grep с чередованием «|» подобный
"^Subject: (\[SPAM\]|\*\*\*SPAM\*\*\*|\*\*\*\ SPAM\ \*\*\*)"
но не работает хорошо.
В одном файле есть одно сообщение, поэтому столько файлов равно количеству сообщений. Содержимое файлов, как:
From: Sender <[email protected]>
To: Receiver <[email protected]>
Subject: *** SPAM *** Buy viagra on-line
Так что мне нужно только Grep в Subject строке. Это все.
Это не будет ничего удалять, хотя, так что вы можете включить более подробную информацию о том, что ваш конечный результат должен быть , –
Я отредактировал свое сообщение - только, как grep спам в теме, мне не нужен готовый к использованию скрипт :-) – Nieogolony
Можете ли вы явно указать формат почтовых ящиков? [файл почтового ящика (много сообщений в одном файле), maildir, mh folder] Какой язык сценариев вы предпочитаете? [perl, python] – AnFi