2014-10-18 4 views
0

Привет всем мне нужна помощь ... я должен очистить (удалить) спам сообщение из многих почтовых ящиков, так что я должен найти его. Сообщения помечены тегом с помощью разных антиспамовых инструментов, поэтому есть такие теги, как СПАМ, [СПАМ], *** СПАМ *** и т. Д. Поэтому я должен найти все сообщения, помеченные этими «ключевыми словами».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 строке. Это все.

+0

Это не будет ничего удалять, хотя, так что вы можете включить более подробную информацию о том, что ваш конечный результат должен быть , –

+0

Я отредактировал свое сообщение - только, как grep спам в теме, мне не нужен готовый к использованию скрипт :-) – Nieogolony

+0

Можете ли вы явно указать формат почтовых ящиков? [файл почтового ящика (много сообщений в одном файле), maildir, mh folder] Какой язык сценариев вы предпочитаете? [perl, python] – AnFi

ответ

0

общее регулярное выражение будет -

^Subject:\W*SPAM(?:\W|$) 
0

Эта модель должна работать:

grep -E '^Subject: [* []+SPAM[] *]+' 

При использовании класса символов он устраняет необходимость использования | или заявлений.

Вход:

Subject: [SPAM] 
Subject: SPAM   // shouldn't match 
Subject: ***SPAM*** 
Subject: *** SPAM *** 
Subject: Not Spam  // shouldn't match 
Subject: ** SPAM ** 

Выход:

Subject: [SPAM] 
Subject: ***SPAM*** 
Subject: *** SPAM *** 
Subject: ** SPAM ** 
Смежные вопросы