Textdatei auslesen und in hash schreiben

Dieses Thema im Forum "Ruby, php, Perl, Python ..." wurde erstellt von z00k, 06.06.2008.

  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. Anzeige

    Schau dir mal diese Kategorie an. Dort findest du bestimmt etwas.
    Registrieren bzw. einloggen, um diese und auch andere Anzeigen zu deaktivieren
  3. #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];
    }
     
  4. 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
     
  5. #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"}
     
  6. #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. 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...
  4. Textdatei zeilenweise in durchnummerierte Variablen schreiben

    Textdatei zeilenweise in durchnummerierte Variablen schreiben: Hi Leute, ich versuche folgendes Problem zu lösen. Ich möchte eine Textdatei einlesen und den Inhalt jeder Zeile in immer eine neue Variable...
  5. SSH Login nur mit einer bestimmten IP die in einer Textdatei gespeichert wird

    SSH Login nur mit einer bestimmten IP die in einer Textdatei gespeichert wird: Hallo Ich bin andauernd Opfer einer Brute Force Attacke. Die IPs die fehlerhafte Logins produzieren werden nach dem 3ten Versuch gesperrt. Aber...