ASCII File auslesen und gewisse Zeichen sichern

Der Clou ist jedoch, dass ich nicht von allen Kreisen die Werte will sondern nur vom. zb. 1sten und 5ten. Die dazwischen sind mir egal!

Genauso ists bei den anderen Werten… bestimmte von einem Typ und nicht alle.

LG & Danke

Hallo

Der Clou ist jedoch, dass ich nicht von allen Kreisen die
Werte will sondern nur vom. zb. 1sten und 5ten. Die dazwischen
sind mir egal!

Genauso ists bei den anderen Werten… bestimmte von einem Typ
und nicht alle.

OK verstanden. Aber wozu dann die „Positionen“? Hat
nicht Kreis 2 sein X an der selben Stelle in der Zeile
wie Kreis 4? Nur eben in einer anderen Zeile?

Nehmen wir also an, Du hast 10 Kreise in besagtem
Format und möchtest die Durchmesser (D) vom 4. und
vom 7. Kreis.

Dann würde mann praktisch vom „Suchprogramm“ verlangen:

 C:\> GIBMIR KREIS D "4,7" MESSWERT.TXT

und das „Programm“ würde antworten:

 D04,17.4795
 D07,19.7646

Wenn es das ist, was Du möchtest,
habe ich Dich verstanden :wink:

Grüße

CMБ

HALLELUJA !!!

Genau da will ich… jedoch sollten die Daten automatisch
nacheinander in der Zieldatei enthalten sein (also ohne dass
ich jedes mal was eingeben muss)

LG & Danke Harry

Hallo Harry

==> ich setze den Thread hier vorne fort,
hinten ist schon zu lang :wink:

Genau da will ich… jedoch sollten die Daten
automatisch nacheinander in der Zieldatei
enthalten sein (also ohne dass
ich jedes mal was eingeben muss)

OK, ich habe noch nicht verstanden, was
jedes mal was eingeben muss“ bedeutet :wink:

Das Perl-Skript macht jetzt Folgendes,
wenn Du hinschreibst:

 C:\> perl gibmir.pl KREIS D "2,3" messung.txt \> ausgabe.txt

dann findest Du in „ausgabe.txt“ folgendes:

 D02,12.5861
 D03,21.1681

Nehmen wir aber an, Du brauchst von
Kreis 2 und Kreis 3 sowohl die X, als
auch die Y-Werte. Dann würdest Du Dir
eine BATCH-Datei „run.bat“ mit zwei Zeilen
schreiben:[RUN.BAT]

 perl gibmir.pl KREIS X "2,3" messung.txt \> ausgabe.txt
 perl gibmir.pl KREIS Y "2,3" messung.txt \>\> ausgabe.txt

(man beachte die ‚>>‘ in der zweiten Zeile).
Es geht auch

 C:\> perl gibmir.pl KREIS X "\*" messung.txt \> ausgabe.txt

… wobei der Stern „*“ bedeutet: „nimm alle die Du findest“.

Aber so 100% schlau bin ich zu Deiner
Intention immer noch nicht geworden :wink:

Hier das programm „gibmir.pl“:
[gibmir.pl]

 $/ = "\n\n"; # record-Trenner auf \n\n
 my ($rec, $key, $par) = (shift, shift, shift); # Parameter 1-3 einlesen
 my %tb; $tb{$\_} = 1 for split /[,;\.\s]/,$par; # welche Record-Nummern?
 my @blk = grep /$rec/, ; # lese richtige Bloecke ein

 /^\s+(\d+).+?$key\s+(\S+)\s/s # /durchsuchen/, =\> $1, $2
 and (defined $tb{$1} || defined $tb{'\*'}) # wenn Nummer angefordert,
 and printf "$key%02d,$2\n", $1 # dann ausdrucken
 for @blk; 

Grüße

CMБ