Am 21.06.24 um 13:45 schrieb Christian Brabandt:
On Fr, 21 Jun 2024, Jörg Thümmler wrote:
Am 21.06.24 um 12:15 schrieb Jörg Thümmler:
Am 21.06.24 um 10:43 schrieb Christian Brabandt:
On Fr, 21 Jun 2024, Jörg Thümmler wrote:
mit tr und sed mache ich aus jeder Mail eine Zeile, die mit dem üblichen "From <Absender>" beginnt und dann möchte ich mit sed -e 's/From\ www-data@myserver\N*Beginn\ des\ Textes://g' den vorderen Teil entfernen.
Prüfe mal deine Regex, \N dürfte sed nicht verstehen. Was soll das denn matchen?
hmm, vielleicht ist das tatsächlich falsch, \N* habe ich von der regex-Seite, soll alles außer Zeilenende matchen. Aber eigentlich habe ich immer gedacht, sed arbeitet eh zeilenweise und vorher hab ich es deshalb mit .* versucht, aber da hat es auch nicht geklappt, hat auch nichts ersetzt oder gelöscht. Hätte verstanden, wenn es zuviel - bis zum letzten Auftreten von "Beginn\ des\ Textes:" überhaupt gelöscht hätte...
ok "From\ www-data@myserver[^\n]*Beginn\ des\ Textes:" matcht nur innerhalb der aktuellen Zeile... so passts!
Wenn du mit tr und sed aus jeder mail eine Zeile machst, wo kommt denn dann der Zeilenumbruch her, den du nicht matchen möchtest? Aber im Allgemeinen erscheint mir das alles ein bißchen fragil und umständlich?
Viele Grüße, Christian
Hi, ich mache aus jeder Mail eine Zeile - in der Datei sind also n Zeilen mit n Mails. Jetzt möchte ich die "Köpfe" entfernen, damit ich nur die - zum Teil durch die Webanwendung aus der sie kommen strukturierten - Inhalte bekomme, damit ich die analysieren kann. Hintergrund ist, das ich Mails in der Datei, die ein bestimmtes Feld identisch haben, nicht doppelt haben möchte, sondern die strukturierten Ihnhalte dann zusammenfassen möchte. Z.B., weil ein Benutzer noch was "nachreicht"... Auch wenn es umständlich wirkt, den Kram erst in die DB zu laden und dann auseinanderzunehmen, ist noch umständlicher... Wenn ich an das sed dann sort anschließe, bekomme ich das "mundgerecht" - die "Nachreichungen" sofort nach der Erstmail... -- cu jth