Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

Leerzeilengetrennte Blöcke getrennt verarbeiten

1 view
Skip to first unread message

Marco Moock

unread,
Jun 12, 2023, 3:44:03 AM6/12/23
to
Hallo zusammen!
Ich habe aktuell die Situation, eine Datei verarbeiten zu müssen, die
wie folgt aussieht:

bla (np1)
us...@exmaple.org
us...@exmaple.org
us...@exmaple.org

bla2(np1)
us...@example.com

Das sind ursprünglich Ausgaben von Mailinglisten-Abonnenten, die nun in
Befehle gewandelt werden müssen. Eine Liste mit Adressen kann ich
wunderbar verarbeiten. Jetzt würde ich das gerne in einer Schleife tun
und zwar für jeden dieser Blöcke.

Wie kann man sowas in Bash bewerkstelligen?

--
Gruß
Marco

Axel Reichert

unread,
Jun 12, 2023, 4:08:54 AM6/12/23
to
Marco Moock <mo...@posteo.de> writes:

> Jetzt würde ich das gerne in einer Schleife tun und zwar für jeden
> dieser Blöcke.
>
> Wie kann man sowas in Bash bewerkstelligen?

In solchen Faellen kann ein vorheriges Aufteilen mit csplit helfen.

Tschoe!

Axel

Marco Moock

unread,
Jun 12, 2023, 4:51:50 AM6/12/23
to
Wie kann man da CRLF als Regex ausdrücken?
\n funktioniert nicht.

Tim Landscheidt

unread,
Jun 12, 2023, 4:55:15 AM6/12/23
to
Beispielsweise:

| while IFS='' read line; do
| # Beginnt Zeile mit acht Leerzeichen?
| if [ "$line" != "${line# }" ]; then
| email="${line# }"
| echo "${grouptitle} ${email}"
| # Ignoriere Leerzeilen.
| elif [ -n "$line" ]; then
| grouptitle="$line"
| fi
| done < test.txt

Ceterum censeo sollte man dafür sed, awk, Perl, Python,
etc. benutzen.

Tim

Marcel Logen

unread,
Jun 12, 2023, 5:18:53 AM6/12/23
to
Marco Moock in de.comp.os.unix.shell:
In
<https://www.gnu.org/software/coreutils/manual/html_node/csplit-invocation.html>
gibt es ganz unten am Ende ein Beispiel.

Das könnte Dir evtl. helfen.

Marcel
--
─╮ ╭─╮ ╭─╮ ╭────────╮ ╭────╮ ╭─╮ ..55..╭─╮ ╭──╮
╰─╮ │ ╰──╯ │ ╰──────╮ │ ╭─╮ ╰──╮ ╰──────╯ ╰─╮ ╭─╮ ╭───╯ ╰─╯ │
│ │ ╭───╯ │ ╰─╯ │ ╭──╯ ╰──╯ ╰─╯ ..59..╭──╯
╰─╯ ╰───────────────╯ ╰──╯ ..59..╰──────╮

Thomas Klix

unread,
Jun 12, 2023, 6:52:08 AM6/12/23
to
Marco Moock wrote at Mon, 12 Jun 2023 09:44:01 +0200:
> Path: news.kx-net.de!uni-berlin.de!fu-berlin.de!news.karotte.org!news2.arglkargh.de!news.mixmin.net!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
> From: Marco Moock <mo...@posteo.de>
> Newsgroups: de.comp.os.unix.shell
> Subject: Leerzeilengetrennte Blöcke getrennt verarbeiten

*Gnarf* Seit wann hast du mixmin im Path:?
Du wirst bei mir gefiltert (Etwas milder: auf "gelesen" gesetzt), was nicht
gewollt ist!

Thomas

Marco Moock

unread,
Jun 12, 2023, 7:25:27 AM6/12/23
to
Am 12.06.2023 um 12:50:01 Uhr schrieb Thomas Klix:

> Marco Moock wrote at Mon, 12 Jun 2023 09:44:01 +0200:
> > Path:
> > news.kx-net.de!uni-berlin.de!fu-berlin.de!news.karotte.org!news2.arglkargh.de!news.mixmin.net!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
> > From: Marco Moock <mo...@posteo.de> Newsgroups: de.comp.os.unix.shell
> > Subject: Leerzeilengetrennte Blöcke getrennt verarbeiten
>
> *Gnarf* Seit wann hast du mixmin im Path:?

Der peert mit dem von mir genutzten Newsserver. Ich habe darüber keine
Kontrolle.

> Du wirst bei mir gefiltert (Etwas milder: auf "gelesen" gesetzt), was
> nicht gewollt ist!

Dann filtere noch nach .POSTED oder nimm direkt Injection-Info.

Marco Moock

unread,
Jun 12, 2023, 8:14:23 AM6/12/23
to
Am 12.06.2023 um 11:18:52 Uhr schrieb Marcel Logen:

> In
> <https://www.gnu.org/software/coreutils/manual/html_node/csplit-invocation.html>
> gibt es ganz unten am Ende ein Beispiel.

Danke.

Ich hatte '{*}' hinten vergessen und mich gewundert, dass es nur 2
Dateien gibt.

Thomas Klix

unread,
Jun 12, 2023, 12:22:06 PM6/12/23
to
Marco Moock wrote at Mon, 12 Jun 2023 14:14:22 +0200:
> Path: news.kx-net.de!uni-berlin.de!fu-berlin.de!news.szaf.org!eternal-september.org!news.eternal-september.org!.POSTED!not-for-mail
> From: Marco Moock <mo...@posteo.de>
> Newsgroups: de.comp.os.unix.shell
> Subject: Re: Leerzeilengetrennte Blöcke getrennt verarbeiten

OT, aber: Ob meine Email an eternal-september.org geholfen hat, oder nicht -
es läuft wohl nicht mehr über mixmin. Ich danke.

Thomas

Marco Moock

unread,
Jun 12, 2023, 3:52:58 PM6/12/23
to
Am 12.06.2023 um 18:17:04 Uhr schrieb Thomas Klix:

> OT, aber: Ob meine Email an eternal-september.org geholfen hat, oder
> nicht - es läuft wohl nicht mehr über mixmin. Ich danke.

Es gab schon immer mehrere Pfade von E-S zu individual Berlin.
Es kann auch Zufall sein, dass es jetzt anders ist.
Du solltest deine Filter so anpassen, dass nur der Müll, der wirklich
über Mixmin gepostet wurde, gefiltert wird.

0 new messages