Datei automatisch in Bloecke splitten?

01/12/2010 - 15:02 von Astrid Kuhr | Report spam
Hallo zusammen,

eine ASCII-Datei enthaelt zeilenweise Text.
z.B.

Kapitel 1
text
text
nochmal text
Kapitel 2
txt
txt
txt
txt
Kapitel 3
und
so weiter
weiter weiter weiter

Ich moechte die Datei jetzt so aufsplitten, dass
gemaess obigem Beispiel Kapitel1 in einer Datei steht,
Kapitel2 usw.

Kann man das relativ kurz mit Perl erschlagen?

Gruss, Astrid
 

Lesen sie die antworten

#1 Tina Müller
01/12/2010 - 15:41 | Warnen spam
Astrid Kuhr wrote:

eine ASCII-Datei enthaelt zeilenweise Text.
z.B.

Kapitel 1
text
text


[...]

Ich moechte die Datei jetzt so aufsplitten, dass
gemaess obigem Beispiel Kapitel1 in einer Datei steht,
Kapitel2 usw.

Kann man das relativ kurz mit Perl erschlagen?



Das geht zum Beispiel mit dem Flip-Flop-Operator.
Ein erster Ansatz:

open my $fh, "<", "kapitel" or die $!;
my $out;
my $k = 0;
while (my $line = <$fh>) {
if ($line =~ m/^Kapitel \d+/ .. $line =~ /^Kapitel (\d+)/) {
$k = $1;
open $out, ">", "kapitel$k" or die $!;
}
pint $out $line;
}

eventuell musst du noch entscheiden, was passiert, wenn
in der ersten Zeile nicht "Kapitel ..." steht.

gruss,
tina
http://www.perl-community.de/
http://perlpunks.de/

Ähnliche fragen