[gelöst] Textbearbeitung: "foo at bar.com" wieder in maschinenlesbare Adressen wandeln?

Du suchst ein Programm für einen bestimmten Zweck?
Antworten
Korodny
Beiträge: 704
Registriert: 09.09.2014 18:33:22
Lizenz eigener Beiträge: GNU Free Documentation License

[gelöst] Textbearbeitung: "foo at bar.com" wieder in maschinenlesbare Adressen wandeln?

Beitrag von Korodny » 18.08.2018 16:42:52

Ich habe hier die Archive einer von Mailman verwalteten Mailingliste, 123 Textdateien mit vielen hundert Mails. Leider habe ich keinen Zugriff auf die mbox-Archive, in denen Mailman seine Archive speichert, sondern habe per wget die öffentlich zugänglichen Archive heruntergeladen. Das sind eigentlich auch mbox-Dateien (die einfache Variante - ohne Größenangaben für die Mails), allerdings sind alle Mails vor dem Bot-Zugriff "geschützt": aus foo@bar.com wird "foo at bar.com".

Das so in Evolution oder Thunderbird zu importieren, ist nicht optimal - nicht nur, dass ich so nicht nach Mail-Adressen suchen kann, Evolution gerät teilweise auch durcheinander und produziert teils aberwitzige Mailadressen oder Absendernamen.

Gibt es eine fertige Lösung, das maschinell zu "reparieren"? Also bspw. in Zeilen, die mit "From" oder "From:" beginnen, "<Space>at<space>" durch ein "@" zu ersetzen?
Zuletzt geändert von Korodny am 19.08.2018 23:10:19, insgesamt 1-mal geändert.

Benutzeravatar
TRex
Moderator
Beiträge: 8029
Registriert: 23.11.2006 12:23:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: KA

Re: Textbearbeitung: "foo at bar.com" wieder in maschinenlesbare Adressen wandeln?

Beitrag von TRex » 18.08.2018 17:06:36

Jo, einfach sed verwenden. Die regulären Ausdrücke kannst auf regex101.com testen/lernen.

Edit: der Aufwand für sed hält sich wirklich in Grenzen, aber falls du fertig-fertig wolltest: nein.
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

schwedenmann
Beiträge: 5522
Registriert: 30.12.2004 15:31:07
Wohnort: Wegberg

Re: Textbearbeitung: "foo at bar.com" wieder in maschinenlesbare Adressen wandeln?

Beitrag von schwedenmann » 18.08.2018 17:38:04

Hallo


Du kannst die textdatei auch in Libreoffice-Writer laden udn dann Suchen und Ersetzen aufrufen und es damit versuchen.

mfg
schwedenmann

Benutzeravatar
TRex
Moderator
Beiträge: 8029
Registriert: 23.11.2006 12:23:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: KA

Re: Textbearbeitung: "foo at bar.com" wieder in maschinenlesbare Adressen wandeln?

Beitrag von TRex » 18.08.2018 17:41:25

schwedenmann hat geschrieben: ↑ zum Beitrag ↑
18.08.2018 17:38:04
Du kannst die textdatei auch in Libreoffice-Writer laden udn dann Suchen und Ersetzen aufrufen und es damit versuchen.
Eine (möglicherweise sehr große) plaintext-Datei in einem (größtmöglichsten) richtext-Editor öffnen, um dessen "suchen und ersetzen" zu verwenden? :|
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

schwedenmann
Beiträge: 5522
Registriert: 30.12.2004 15:31:07
Wohnort: Wegberg

Re: Textbearbeitung: "foo at bar.com" wieder in maschinenlesbare Adressen wandeln?

Beitrag von schwedenmann » 18.08.2018 17:46:54

Hallo

@TRex
Eine (möglicherweise sehr große) plaintext-Datei in einem (größtmöglichsten) richtext-Editor öffnen, um dessen "suchen und ersetzen" zu verwenden?
Käme auf einen Versuch, nicht alle Editoren, oder Textverarbeitungsprogramme machen bei 1GB großen Dateien schlapp :mrgreen:

Außerdem hat der TE die größe afaik nicht erwähnt.

Diese Methode ist afaik schneller als sed, wenn das damit nciht klappt, kann man ja immer noch auf sed zurückgreifen.

mfg
schwedenmann

Korodny
Beiträge: 704
Registriert: 09.09.2014 18:33:22
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Textbearbeitung: "foo at bar.com" wieder in maschinenlesbare Adressen wandeln?

Beitrag von Korodny » 18.08.2018 17:59:40

Es geht um 123 Textdateien, die werde ich sicher nicht einzeln bearbeiten.

Ja, ich kenne sed natürlich, stehe aber mit RegExps eher auf Kriegsfuß. Dachte jemand hat vielleicht eine Anregung wie das umzusetzen ist.

eggy
Beiträge: 3331
Registriert: 10.05.2008 11:23:50

Re: Textbearbeitung: "foo at bar.com" wieder in maschinenlesbare Adressen wandeln?

Beitrag von eggy » 18.08.2018 20:00:40

Korodny hat geschrieben: ↑ zum Beitrag ↑
18.08.2018 16:42:52
Gibt es eine fertige Lösung, das maschinell zu "reparieren"? Also bspw. in Zeilen, die mit "From" oder "From:" beginnen, "<Space>at<space>" durch ein "@" zu ersetzen?
Ja, nennt sich awk, und sieht in etwa so aus:

Code: Alles auswählen

awk '/^From/{gsub(" at ", "@"); print $0; next} {print }' datei

inne
Beiträge: 3272
Registriert: 29.06.2013 17:32:10
Lizenz eigener Beiträge: GNU General Public License
Kontaktdaten:

Re: Textbearbeitung: "foo at bar.com" wieder in maschinenlesbare Adressen wandeln?

Beitrag von inne » 19.08.2018 02:03:08

Code: Alles auswählen

sed '/^From: /s/ at /@/'

Benutzeravatar
Revod
Beiträge: 3788
Registriert: 20.06.2011 15:04:29
Lizenz eigener Beiträge: MIT Lizenz

Re: Textbearbeitung: "foo at bar.com" wieder in maschinenlesbare Adressen wandeln?

Beitrag von Revod » 19.08.2018 17:29:22

Es gibt einen Editor, der in Datei sucht und eventuell auch so alle ersetzt,

https://foicica.com/textadept/

Debianbluefish kann direkt in allen Dateien in einen Rutsch ersetzen. Solange es nicht gelungen ist, die originale alte Dateien immer abgesichert halten.
Systemd und PulseAudio, hmmm, nein danke.

Benutzeravatar
TRex
Moderator
Beiträge: 8029
Registriert: 23.11.2006 12:23:54
Lizenz eigener Beiträge: MIT Lizenz
Wohnort: KA

Re: Textbearbeitung: "foo at bar.com" wieder in maschinenlesbare Adressen wandeln?

Beitrag von TRex » 19.08.2018 18:40:20

Revod hat geschrieben: ↑ zum Beitrag ↑
19.08.2018 17:29:22
Es gibt einen Editor, der in Datei sucht und eventuell auch so alle ersetzt,
_jeder_ Editor kann das, der ein bisschen komplexer ist als mousepad... und der kanns vermutlich auch.

Ich würde ja noch die anderen hundert Editoren nennen...
Jesus saves. Buddha does incremental backups.
Windows ist doof, Linux funktioniert nichtDon't break debian!Wie man widerspricht

Korodny
Beiträge: 704
Registriert: 09.09.2014 18:33:22
Lizenz eigener Beiträge: GNU Free Documentation License

Re: Textbearbeitung: "foo at bar.com" wieder in maschinenlesbare Adressen wandeln?

Beitrag von Korodny » 19.08.2018 23:09:36

Vielen Dank für die TIpps, hab's jetzt mit dem sed-Vorschlag von inne gelöst, das war exakt das was ich gesucht habe.

Antworten