Textdatei auslesen und in hash schreiben

Diskutiere Textdatei auslesen und in hash schreiben im Ruby, php, Perl, Python ... Forum im Bereich Programmieren unter Linux/Unix; Howdy! Da es schon einige Zeit her ist, als ich mit Perl gescripted habe, stehe ich leider vor einem kleinen Problem. Ich habe eine Textfile...

  1. z00k

    z00k I love my slack! Do u?

    Dabei seit:
    24.01.2005
    Beiträge:
    302
    Zustimmungen:
    0
    Ort:
    earth.getLocation("z00k");
    Howdy!

    Da es schon einige Zeit her ist, als ich mit Perl gescripted habe, stehe ich leider vor einem kleinen Problem.

    Ich habe eine Textfile in folgendem Format:

    Code:
    /my/path/file1.ext Revision: 2.0.1
    /my/path/file2.ext Revision: 2.0.7
    ...
    Diese wuerde ich nun gerne mit Perl auslesen und in ein Hash packen um die Daten danach weiter zu verarbeiten. Also so:

    Key: "/my/path/file1.ext" Value: "2.0.1" etc.

    Das Ganze wuerde ich mit RegEx angehen, so meine erste Idee.

    Koennte mir evtl jemand von den Perl Hackern hier ein kleines Beispiel geben fuer meinen Fall? :D


    Danke im Vorraus!

    gReetZ
     
  2. #2 Mµ*e^13.5_?¿, 06.06.2008
    Mµ*e^13.5_?¿

    Mµ*e^13.5_?¿ Routinier

    Dabei seit:
    21.02.2006
    Beiträge:
    453
    Zustimmungen:
    0
    Wie wäre es so?
    Code:
    #!/usr/bin/perl
    use warnings;
    use strict;
    
    my $fh;
    my %hash;
    open($fh, "data.txt");
    while(<$fh>) {
    	 split(/\s/);
    	 $hash{$_[0]} = $_[2];
    }
     
  3. z00k

    z00k I love my slack! Do u?

    Dabei seit:
    24.01.2005
    Beiträge:
    302
    Zustimmungen:
    0
    Ort:
    earth.getLocation("z00k");
    Perfekt! Weiter komme ich dann alleine klar!

    Vielen Dank! :D


    gReetZ
     
  4. #4 Gott_in_schwarz, 06.06.2008
    Gott_in_schwarz

    Gott_in_schwarz ar0

    Dabei seit:
    22.04.2007
    Beiträge:
    546
    Zustimmungen:
    0
    Ort:
    Niedersachsen
    Warum denn bitte mit \s aufsplitten? 0,0
    Code:
    $ cat sample 
    /my/path/file1.ext Revision: 2.0.1
    /my/path/file2.ext Revision: 2.0.7
    $ perl -anF'\s+Revision:\s+' -e 'chomp @F; $rev{$F[0]} = $F[1]; END {print "$_\t$rev{$_}\n" for keys %rev}' sample
    /my/path/file2.ext      2.0.7
    /my/path/file1.ext      2.0.1
    Macht ungefähr das Gleiche wie das Skript von mµ, nur dass es mit der Regex '\s+Revision\s+' splittet. "Ausgeschrieben" sieht das dann ungefähr so aus:
    Code:
    use strict; use warnings;
    
    my (%rev, @F);
    
    while ($_ = <ARGV>) {
        @F = split m{\s+Revision:\s+}, $_;
        chomp @F;
        $rev{$F[0]} = $F[1];
    }
    
    for (keys %rev) {print "$_\t$rev{$_}\n"}
     
  5. #5 Mµ*e^13.5_?¿, 06.06.2008
    Mµ*e^13.5_?¿

    Mµ*e^13.5_?¿ Routinier

    Dabei seit:
    21.02.2006
    Beiträge:
    453
    Zustimmungen:
    0
    Stimmt, das ist irgendwie sehr viel sinnvoller, zumal man damit auch Probleme mit Leerzeichen im Dateinamen vermeidet.
    Naja, man kommt nicht immer sofort auf das nahestliegendste.
     
Thema:

Textdatei auslesen und in hash schreiben

Die Seite wird geladen...

Textdatei auslesen und in hash schreiben - Ähnliche Themen

  1. Informationen aus Textdatei auslesen

    Informationen aus Textdatei auslesen: Hallo Forum, bin neu hier und absoluter Bash Neuling. Nichtsdestotrotz will ich mich todesmutig in die Shellprogrammierung stürzen und bin...
  2. Auslesen einer Textdatei

    Auslesen einer Textdatei: Ich habe ein wahrscheinlich für erfahrene Java Menschen simples Problem... Ich muss in meinem Projekt eine LinkedList abspeichern. Vom Prinzip...
  3. Textdatei filtern und löschen mit grep /sed

    Textdatei filtern und löschen mit grep /sed: Guten morgen liebe Forenmitglieder, da ich etliche Jahre in Sachen Linux pausiert habe und nun wegen beruflichem Wechsel wieder dort einsteige...
  4. 2 Spalten in EINER Textdatei GETRENNT addieren

    2 Spalten in EINER Textdatei GETRENNT addieren: Hey, bin ein ziemlicher Neuling in Sachen programmieren. Nun steh ich vor dem Problem, dass ich 2 Zahlenspalten inner Textdatei (vim) getrennt...
  5. Timestamp an Inhalt einer Textdatei anfügen

    Timestamp an Inhalt einer Textdatei anfügen: Hallo, ich als neuer, unerfahrener Nutzer von Linux und der bash hätte folgende Frage. Und zwar würde ich gerne mit einem command den Zeitstempel...