ubuntuusers.de

Mailadressen in Textdatei suchen und weiteren txt einfügen

Status: Gelöst | Ubuntu-Version: Ubuntu 16.04 (Xenial Xerus)
Antworten |

berndd

Anmeldungsdatum:
24. März 2007

Beiträge: 944

Hallo,

habe eine txt.datei in der ich eine sehr große liste von email adressen habe. Will mit dieser email liste filterregeln für das programm imapfilter erstellen. wäre toll wenn ich für jede mail adresse, die in meiner txt datei vorhanden ist, eine regel erstellt werden könnte:

Habe eine txt-datei mit mailadressen in folgendem Format:

1
2
mailadresse1@gmail.com
mailadresse2@gmail.com

und hatte gerne automatisch für jede gefundenden mailadresesse eine filter-regel für das programm imapfilter erstellt. Im format:

1
2
3
4
messages = account1["INBOX"]:contain_from("mailadresse1@gmail.com")
    - account1["INBOX"]:contain_subject("CRITICAL:")
  messages:mark_seen()  
  messages:move_messages(account1["Monitoring/Nagios"]) 

geändert werden soll also nur der contain_from abschnitt, der rest der regel bleibt immer gleich

Wer kann bitte helfen.

Gruß

seahawk1986

Anmeldungsdatum:
27. Oktober 2006

Beiträge: 11260

Wohnort: München

Das kannst du z.B. mit read und einem Here Document lösen:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
#!/bin/bash

while read -r address; do
cat << EOF
messages = account1["INBOX"]:contain_from("${address}")
    - account1["INBOX"]:contain_subject("CRITICAL:")
  messages:mark_seen()  
  messages:move_messages(account1["Monitoring/Nagios"]) 
EOF
done < email.txt > rules.txt

berndd

(Themenstarter)

Anmeldungsdatum:
24. März 2007

Beiträge: 944

Hallo,

vielen Dank das funktioniert. Habe das skript noch angepasst damit zwischen den einträgen noch eine Leerzeile erstellt wird.

Gruß

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
#!/bin/bash

while read -r address; do
cat << EOF
messages = account1["INBOX"]:contain_from("${address}")
    - account1["INBOX"]:contain_subject("CRITICAL:")
  messages:mark_seen()  
  messages:move_messages(account1["Monitoring/Nagios"]) 

EOF
done < email.txt > rules.txt
Antworten |