Archiv verlassen und diese Seite im Standarddesign anzeigen : email's auslesen & abspeichern?
Hallo,
ich bin auf der suche nach einer Methode/Programm das die emails aus einem .txt auslesen und abspeichert.
Ich habe ein großes text Dokument wo emails drin stehen wo ich brauche, ich hab mit der such funktion das "@" zeichen gesucht und abgespeichert, das dauert mit aber viel zu lange. Gibt es was, wo selber z.b das "@" auslesen und in einer .text datei abspeichert?
grep @ deinedatei > mailadressen.txt
loewenherz
01.11.2011, 11:01
Was steht da noch so in dem Dokument und welches Format hat es?
Kann man mit RegEx machen
Blut-Engel
01.11.2011, 11:03
Mach es doch in Arrays, also das ganze in nen String, splitten mit @-Zeichen, und dann einfach sagen alles was nach .net/com/de etc. ist weglöschen, dann alles einzeln abspeichern mit ner for-Schleife (ich geh mal von C# aus).
Oder wolltest du nur das fertige Programm ohne selber schreiben zu müssen?
P.s.: er hatte geschrieben aus einer .txt-datei, ich nehme sehr stark an das das eine Textdatei ist ;-)
Es ist eine text Datei, habe es mit email grabber versucht, klappt auch ganz gut. Leider ist es nur eine test version und es speichert nur 50 emails, einen key habe ich noch nicht gefunden, suche aber weiter.
loewenherz
01.11.2011, 11:11
Nein er hat geschrieben Dokument. Und ob es ein .docx, eine .pdf oder sonst was ist schon wichtig.
Also du speicherst es mal als .txt ab falls es ein Worddokument oder ähnliches ist und lässt mal mein Powershell drüber laufen.
$Quelldatei =
$Zieldatei
$Pattern = "[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+(?:[A-Z]{2}|xxx|cat|cc|ss|rh|de|com|org|net|edu|gov|mil|to |tv|fm|biz|info|mobi|name|aero|asia|jobs|museum)\b"
#$Pattern = "\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b"
$Sorting = Get-Content $Quelldatei | Sort-Object #-unique
foreach ($email in $Sorting)
{
if ($email -match $Pattern)
{
Write-Host $email
$email | add-content $Zieldatei
}
}
Write-Host "Done..."
watch: http://www.loewenherz.cc/?p=1789
Ist eigentlich nicht für so einen Fall geschrieben aber nun ja vielleicht hat es ja hin
Ich denke mal Du hast ein Windows System?
Wenn ja, dann lade Dir Python von hier (http://www.python.org/getit/) und installiere es.
Danach speicherst Du folgendes unter "C:\Python27" mit dem Namen extractmail.py ab.
#!/usr/bin/env python
import os
import re
import sys
def grab_email(file):
"""Try and grab all emails addresses found within a given file."""
email_pattern = re.compile(r'\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b',
re.IGNORECASE)
found = set()
if os.path.isfile(file):
for line in open(file, 'r'):
found.update(email_pattern.findall(line))
for email_address in found:
print email_address
if __name__ == '__main__':
grab_email(sys.argv[1])
Gehst per CMD in den Python Ordner zB. "C:\Python27" und führst es wie folgt aus:
python.exe extractmail.py old.txt > new.txt
Danach werden die eMails von old.txt zu new.txt extrahiert.
Mit freundlichen Grüßen,
~bursali
loewenherz
01.11.2011, 11:19
(r'\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b',
Mit freundlichen Grüßen,
~bursali
Ja die pattern stehen zwar in der RFC, funktioniert auch, sammelt aber invalide eMail Adressen
http://www.regular-expressions.info/email.html
erst gestern ausprobiert;)
Ich denke mal Du hast ein Windows System?
Wenn ja, dann lade Dir Python von hier (http://www.python.org/getit/) und installiere es.
Danach speicherst Du folgendes unter "C:\Python27" mit dem Namen extractmail.py ab.
#!/usr/bin/env python
import os
import re
import sys
def grab_email(file):
"""Try and grab all emails addresses found within a given file."""
email_pattern = re.compile(r'\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b',
re.IGNORECASE)
found = set()
if os.path.isfile(file):
for line in open(file, 'r'):
found.update(email_pattern.findall(line))
for email_address in found:
print email_address
if __name__ == '__main__':
grab_email(sys.argv[1])
Gehst per CMD in den Python Ordner zB. "C:\Python27" und führst es wie folgt aus:
python.exe extractmail.py old.txt > new.txt
Danach werden die eMails von old.txt zu new.txt extrahiert.
Mit freundlichen Grüßen,
~bursali
Heist, das ich davor die .txt datei als "old.txt" im pyton ordner abspeichern muss?
Nicht unbedingt, kannst es beliebig abspeichern.
Sagen wir Du nennst es mailliste123.txt, dann musst Du den Befehl einfach so ausführen:
python.exe extractmail.py mailliste123.txt > new.txt
Mit freundlichen Grüßen,
~bursali
Hat geklapt, wunderbar! Vielen Dank @bursali
Danke Leute!
Powered by vBulletin® Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.