Thread Aus Textdatei nach bestimmten Wort Wörter auslesen
(16 answers)
Opened by Gast_13 at 2013-09-12 12:32
Noch mal Hallo
Hab es so hinbekommen wie ich das brauche, mit folgendem Programm: (Ist Teil eines größerem, was ich dann noch zusammenfüge) Code (perl): (dl
)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 #!/usr/bin/perl use strict; use warnings; my $_; my $name1; my @wds; open(my $WorteFh, '>', 'Worte.TXT' ) or die $!; my @txtfiles = glob( "*.txt" ) or die $!; for my $file ( sort @txtfiles ) { open( my $fh, '<', $file ) or next; local $/; my $content = <$fh>; close $fh; my $words = 0; if ($content =~ m{ (\n) \.SUBCKT \b }mix )# Test ob .Subckt enthalten { if ($content =~ m/^\.subckt ([\w.\s]+)/im) # Wenn ja, alles nach .Subckt auslesen { $name1 = $1; (undef, my @wds) = split(/ /,$name1); next unless @wds; print join "; ", @wds; print "\n"; $words += scalar(@wds); print("words=$words\n"); print "$file\n$name1\n"; print $WorteFh "$words\n"; } } } close $WorteFh; Bestimmt kann man das auch schöner schreiben, aber für mich ist das so übersichtlich und verständlich wie ich das gemacht habe. Allerdings habe ich jetzt noch das Problem, wenn ich z.B. folgenden Dateiinhalt auslese: ******************************************* *# .SUBCKT D1N4148test 1 2 * * The re Und hinter der 2 ein Leerzeichen in der Datei ist, dies als ein Wort ausgelesen wird. Kann ich das irgendwie vermeiden? Lieben Gruß Last edited: 2013-10-10 11:39:44 +0200 (CEST) |