att identifiera epostadresser ur stor textmassa

Tråden skapades och har fått 6 svar. Det senaste inlägget skrevs .
1

Hej!
Jag har 443 email i Mac OS X Mail som rör ett visst ämne.

Jag skulle vilja ha en lista på alla unika epostadresser som förekommer i just dessa 443 email (det räcker med de som står i "till-raden" eller "från-raden" men jag tar gärna adresserna som står i "cc-raden" också").
Kan man på något enkelt sätt ta fram alla eposter ur 443 email i Apples Mail?

Eftersom jag inte tror att det går så sparade jag alla email (utan bilagor) som en textfil.
Kan jag på något sätt deleta alla "ord" som inte innehåller ett "@" eftersom epostadresser gör det?
De program jag har till mitt förfogande är texthanteraren, word, och texwrangler.

Någon som har en idé?
filen finns för övrigt här: https://dl.dropboxusercontent.com/u/1697196/k....

med vänl hälsn Jonas Ludvigsson

Markera alla mail
klicka på "brev" "lägg till avsändarna i kontakter" så har du alla adresser sparade
iaf alla från adresser

edit:
HIttade sedan inget bra sätt att bara få ut en lista på adresser

Edit 2:
din fil går inte att hämta

  • Medlem
  • Strängnäs
  • 2013-10-02 22:35

Använd grep i terminalen. Du hade ju sparat alla mailen som text. Titta på http://www.putorius.net/2011/12/grep-all-email-addresses-from-text-file.html så förstår du nog hur du skall göra. Jag testade på en loggfil på min mailserver och fick ut en lång och fin lista med epostadresser.

  • Medlem
  • Strängnäs
  • 2013-10-02 22:55

Det här var ju kul. Gör så här för att gå igenom alla filer.
1. Lägg alla filer i en katalog (bara dina mail text filer)
2. Skapa en stor fil med alla mail genom att skriva: cat * >> allamail.txt
3. Skriv grep -E -o "\b[a-zA-Z0-9.-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9.-]+\b" allamail.txt >> allaadresser.txt
4. Skriv sen sort -u allaadresser.txt >> unikaadresser.txt

Hej!
tack Disktant och Stralis för att ni försökte hjälpa mig.
Stralis, jag körde dina terminalkommandon och måste säga att det var bland det grymmaste jag varit med om, det fungerade... oj. så impad jag blev!
med vänl hälsn Jonas Ludvigsson

Går att fixa med Textwrangler även för oss som inte kan Terminalen om man kör med lite kreativa sök och ändringar i flera steg.

Jag skulle till att börja med få alla mailadresser att ligga på egna rader, t.ex. genom att ersätta alla < och > med radbyten.

Sedan kan du använda Text >Process Lines Containing... och ange @

  • Medlem
  • Sollentuna
  • 2013-10-03 09:59
Ursprungligen av stralis:

3. Skriv grep -E -o "\b[a-zA-Z0-9.-]+@[a-zA-Z0-9.-]+\.[a-zA-Z0-9.-]+\b" allamail.txt >> allaadresser.txt

Detta regexp kommer att hitta namn före @ med punkt, men inte med underscore (understreck/understrykning). Du måste väl lägga till ett underscore i första mönstret (mellan []) för att det ska fungera. Underscore i mailadresser (före @) är inte helt ovanliga.

1
Bevaka tråden