Elemente aus einer Liste auslesen

Und noch einmal ich. :smile:

Im moment versuche ich aus einer Liste in der Form:

GRUPPE1 Element1:Element2:etc.
GRUPPE2 Element1:Element2:etc.
etc.

eine Liste in dieser Form zu erstellen:

GRUPPE1

Element1
Element2
etc.
GRUPPE2

Element1
Element2
etc.

Gibt es einen Befehl der einzelne Elemente nach bestimmten Kriterien aus einem Block von Text herauspicken kann und diese dann nacheinander in eine Datei schreibt?

Schonmal Danke für eure Hilfe!

Florian

Im moment versuche ich aus einer Liste in der Form:

GRUPPE1 Element1:Element2:etc.
GRUPPE2 Element1:Element2:etc.

eine Liste in dieser Form zu erstellen:

GRUPPE1

Element1
Element2
etc.
GRUPPE2

Element1
Element2
etc.

Gibt es einen Befehl der einzelne Elemente nach bestimmten
Kriterien aus einem Block von Text herauspicken kann und diese
dann nacheinander in eine Datei schreibt?

Einen nicht, aber man kann ja ein paar zusammenwuerfeln:

(0) frank@bane [~] % cat foo.dat
GRUPPE1 Element1:Element2:etc.
GRUPPE2 Element1:Element2:etc.
(0) frank@bane [~] % cat foo.sh
#!/bin/sh

IFS=": "

while read group elements
do
 echo "$group"
 echo "-------"
 for element in $elements
 do
 echo "$element"
 done
done
(0) frank@bane [~] % cat foo.dat |./foo.sh
GRUPPE1
---------
Element1
Element2
etc.
GRUPPE2
---------
Element1
Element2
etc.
(0) frank@bane [~] %

Mf
Gruss vom Frank.

Hallo Frank,

Im moment versuche ich aus einer Liste in der Form:
GRUPPE1 Element1:Element2:etc.
GRUPPE2 Element1:Element2:etc.
eine Liste in dieser Form zu erstellen:
GRUPPE1

Element1
Element2
etc.
GRUPPE2

Element1
Element2
etc.
Gibt es einen Befehl der einzelne Elemente nach bestimmten
Kriterien aus einem Block von Text herauspicken kann und diese
dann nacheinander in eine Datei schreibt?

Einen nicht, aber man kann ja ein paar zusammenwuerfeln:

(0) frank@bane [~] % cat foo.dat
GRUPPE1 Element1:Element2:etc.
GRUPPE2 Element1:Element2:etc.

Es wird Dir nicht gefallen, aber es gibt ihn :wink: smb@kursk~> perl -pe ‚s/\s+/\n----\n/;s/:/\n/g‘ foo.dat
gibt:GRUPPE1

Element1
Element2
etc.
GRUPPE2

Element1
Element2
etc.Grüße

CMБ

Es wird Dir nicht gefallen, aber es gibt ihn :wink:

Och, ich find perl nicht so schlecht. Ich mag es nur nicht fuer jeden kleinen Scheiss aufrufen.

smb@kursk~> perl -pe ‚s/\s+/\n----\n/;s/:/\n/g‘ foo.dat

Ach, ja, ersetzen koennte man das ja auch… und perl braucht dazu auch nur dreimal so lange wie sed. Selbst das shell-Zeugs, was ich da zusammengehackt hab ist schneller. Jedenfalls beobachte ich das fuer kleine Eingabefiles. Interessanterweise naehert sich perl fuer grosse Dateien erstaunlich gut an sed an. Der shell-Haufen verliert dann natuerlich recht schnell.

Gruss vom Frank.

cool, danke auf jeden fall.

jetzt hats zumindest geklappt!

grüße
florian