Teile einer Datei ausgeben

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
pummeltiger
Beiträge: 4
Registriert: 06.09.2009 12:49:56

Teile einer Datei ausgeben

Beitrag von pummeltiger » 30.09.2009 11:40:08

Hallo zusammen,
ich suche nach der Möglichkeit einen bestimmten Teil einer Datei in eine neue Datei zu schreiben.

Meine Quelldatei ist wie folgt aufgebaut:

string1 {
Name1 = bar
Name2 = foo
}
string2 {
Name1 = foo
Name2 = bar
}

Es soll nun die jeder String in eine neue Datei geschrieben werden. In diesem Fall, möchte ich zwei Dateien haben.

Ich hoffe es ist klar was ich meine...

Habe bereits einige Versuche mit sed und egrep hinter mir, aber immer ohne den gewünschten Erfolg. Es kann auch was in Perl sein, muss nicht Shellscript sein.

Vielen Dank im Voraus für Eure Hilfe.

Grüße
Christian

Benutzeravatar
Meillo
Moderator
Beiträge: 9254
Registriert: 21.06.2005 14:55:06
Wohnort: Balmora
Kontaktdaten:

Re: Teile einer Datei ausgeben

Beitrag von Meillo » 30.09.2009 12:01:47

Code: Alles auswählen

#!/usr/bin/awk -f

/{$/ {
        fname = $1
}

/{$/,/^}$/ {
        print >> fname
}
Use ed once in a while!

chrisbra
Beiträge: 122
Registriert: 19.10.2005 09:36:09
Wohnort: Sachsen-Anhalt
Kontaktdaten:

Re: Teile einer Datei ausgeben

Beitrag von chrisbra » 30.09.2009 14:33:43

Code: Alles auswählen

~$ perl -l -0777 -ne 's/((\w+?)\s*?{.*?})/open $2,">$2";print {$2} "$1"  /speg' datei
sollte gehen.
Meine Whishlist
:wq!

Antworten