wieder einmal matching
heinz
- perl
Hallo,
in meiner Datei/Variable steht.
Fold: 123
GFFold: 123
FREE:345
ich suche nach Fold: und möchte nun alles nach Fold: bis \n einlesen. Also nur den Messwert. Dabei sollte keine Unterscheidung zwischen gross/kleinbuchstaben stattfinden.
Ich schnall das nicht
Gruß
Heinz
Moin!
Fold: 123
GFFold: 123
FREE:345
In einer Linux-Shell geht:
var=
cat file.txt | grep "^Fold:" | cut -f2 -d ":" | tr -d \n | tr -d [:blank:];
In Perl könntest Du über split oder Text::CSV nachdenken.
MFFG (Mit freundlich- friedfertigem Grinsen)
fastix
moin,
Ich schnall das nicht
Ich schnalle das mal so:
use strict;
my $res = {}; # Results
while( my $line = <DATA>){
my ($k, $v) = split ":", $line;
$k =~ s/^\s+//; # Leerzeichen am Anfang raus
$k = unpack "A*", $k; # Leerzeichen und Newlines am Ende raus
$v =~ s/^\s+//; # Leerzeichen am Anfang raus
$v = unpack "A*", $v; # Leerzeichen und Newlines am Ende raus
$k = lc $k; # alle Keys sind jetzt kleingeschrieben
$res->{$k} = $v; # Schreibe Resultate
}
print $res->{fold};
__END__
Fold: 123
GFFold: 123
FREE:345
Schönen Sonntag,
Horst
Dafür schreib ich nicht mal eine Programmdatei.
perl -lne'print $1 if /\A Fold: (.*)/imsx;' < Messdatei
123
Bitteschön, alles nach Fold: inklusive Leerzeichen.