Thread Wert aus Zeile auslesen in Abhängigkeit von einem Wert der Zeile darüber? (6 answers)
Opened by cybermaid at 2011-03-10 23:08

FtR
 2011-03-11 11:55
#146387 #146387
User since
2003-08-20
39 Artikel
BenutzerIn
[default_avatar]
Hi,
Das mit den AoA solltest du aber nur machen wenn deine Inputdatei klein ist.


Beispiel Input-Datei
Code: (dl )
1
2
3
4
5
6
7
8
9
10
11
12
13
nix nix nix nix nix nix nix
nix nix nix nix nix nix nix
nix nix nix nix nix nix nix
nix Peter nix Jo nix nix nix
nix Sieger1 nix nix nix nix nix
nix nix nix nix nix nix nix
nix nix nix nix nix nix nix
nix nix nix nix nix nix nix
nix FRED nix Jo nix nix nix
nix Sieger2 nix nix nix nix nix
nix nix nix nix nix nix nix
nix ROLF nix Jo nix nix nix
nix Sieger2 nix nix nix nix nix



Beispiel code

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
#/usr/bin/perl -w 
use strict;
my $line;          # aktuelle Zeile      
my @linebuffer;    # Speicher für den Array der  zeile n-1 
my @workbuffer;    # Array der aktuelle Zeile 
open (IN,"_input_");

while ($line= <IN>)  # Zeilenweise lesen 
{
    @workbuffer = split (" ", $line);   # in array zerlegen 

    if (@linebuffer) {   # Test ob in der Zeile n-1 was erkannt wurde 
        if  ($workbuffer[1] eq "Sieger2"){
            print $linebuffer[1],"\t",$linebuffer[3],"\t",$workbuffer[1],"\n";
        }
        @linebuffer = undef;  # Zeile n-1 löschen  
    }

     if  ($workbuffer[3] eq "Jo"){
        @linebuffer = @workbuffer;
     }

}


Ausgabe
Code: (dl )
1
2
FRED	Jo	Sieger2
ROLF Jo Sieger2



Viel Spass
Last edited: 2011-03-11 13:16:54 +0100 (CET)
Code: ()
1
2
print&f(($_=(3x3)."3+33")=~s=3(?![^3]|$)=&f=eg);
sub f{eval(@_?$_:"'$&+'x3");}

View full thread Wert aus Zeile auslesen in Abhängigkeit von einem Wert der Zeile darüber?