rekursiv suchen / perl

Dieses Thema im Forum "Ruby, php, Perl, Python ..." wurde erstellt von belubaba, 24.10.2006.

  1. #1 belubaba, 24.10.2006
    belubaba

    belubaba Tripel-As

    Dabei seit:
    20.09.2005
    Beiträge:
    184
    Zustimmungen:
    0
    Hallo Zusammen,

    ich habe ein reichlich banale Frage.
    Kann Sie aber nicht lösen da ich keinen blassen Schimmer von Perl habe.

    $MeinVerzeichnis
    $MeinDateiNamePattern

    Wie suche ich recursiv von $MeinVerzeichnis aus nach $MeinDateiNamePattern.

    Als Ergebnis brauche ich:

    ./meinpfad/meineDatei.txt



    Gruß und thx

    b.
     
  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 supersucker, 24.10.2006
    supersucker

    supersucker Foren Gott

    Dabei seit:
    21.02.2005
    Beiträge:
    3.873
    Zustimmungen:
    0
    Indem du in cpan nach einem Modul kuckst was genau das für dich macht.

    Du kannst dir das natürlich auch selber schreiben, da du aber keinen Schimmer von Perl hast würde ich eher eine cpan-lösung nehmen.
     
  4. #3 Wolfgang, 24.10.2006
    Wolfgang

    Wolfgang Foren Gott

    Dabei seit:
    24.04.2005
    Beiträge:
    3.978
    Zustimmungen:
    0
    Ort:
    Erfurt
    Hallo

    Das richtige Modul nennt sich File::Find
    Folgender Einzeiler sucht nach allen Dateien die /test/ enthalten.
    Verzeichnisse werden nicht ausgegeben.
    Code:
    perl -MFile::Find -le 'find (sub{return if /^[.]+$/;print $File::Find::name if ((-f )&&(/test/))},"/home/wolle/temp")'
    
    perldoc File::Find
    :rtfm:
    Gruß Wolfgang
     
  5. #4 Xanti, 24.10.2006
    Zuletzt bearbeitet: 24.10.2006
    Xanti

    Xanti Mouse Organist

    Dabei seit:
    05.09.2004
    Beiträge:
    1.855
    Zustimmungen:
    0
    Code:
    #!/usr/bin/perl
    
    use strict;
    use File::Find;
    
    my $MeinVerzeichnis = "bspdir";
    my $MeinDateiNamePattern = "muster";
    
    sub match {print "$_\n" if /$MeinDateiNamePattern/}
    
    find {wanted => \&match, no_chdir => 1}, $MeinVerzeichnis;

    Gruss, Xanti

    edit: Doh, Wolfgangs Lösung war schneller und besser.
    $File::Find::name muss ich mir merken, da braucht man no_chdir nicht.
     
  6. Jabo

    Jabo Aufgabe ohne Minister

    Dabei seit:
    12.10.2006
    Beiträge:
    1.322
    Zustimmungen:
    0
    Ort:
    Hamburg
    selber machen

    Hallo,

    ich hatte mir mal was gebaut, das sich rekursiv durch einen Verzeichnisbaum wühlt, alle Sonderzeichen in Dateinamen ersetzt, aber nicht im Original-File, sondern sozusagen "gespiegelt" in einer Struktur als Symlink ablegt.

    Der Teil, der Verzeichnisse listet, sah so aus:
    Code:
    local ($searchdir) = $_[0];
      print "Open $searchdir\n";
      opendir(DIR, $searchdir);
      local(@files) = readdir(DIR);
      print "Filelist:\n\n\n";
      print "Dirname=$searchdir\n";
      for(@files){
           print "-> $_";
           if(-d "$searchdir$_"){
              print " - (is directory)";
           }
           print "\n";
      }
      print "\n\n";
      closedir DIR;
    
    Das könnte man jetzt um-/ausbauen.

    Der Vorschlag von Wolle ist aber eleganter...
     
Thema: rekursiv suchen / perl
Besucher kamen mit folgenden Suchen
  1. unix perl suchen

Die Seite wird geladen...

rekursiv suchen / perl - Ähnliche Themen

  1. Rekursiv String in Dateien suchen

    Rekursiv String in Dateien suchen: Hallo zusammen, grep -r oder grep -R geht leider nicht: grep: illegal option -- r Ich möchte auf einem Unix-System alle Dateien nach...
  2. Ordner rekursiv nach Dateien mit bestimmten Inhalt durhsuchen

    Ordner rekursiv nach Dateien mit bestimmten Inhalt durhsuchen: Hi, steh gerade neben mir. Wie kann ich einen Ordner rekursiv nach Dateien suchen,die bestimmte Zeichen(\r) enthalten.Anschließend will ich...
  3. ordner rekursiv durchsuchen und dateien löschen

    ordner rekursiv durchsuchen und dateien löschen: hallo wie kann ich denn einen ordner (und alle unterordner) nach einen bestimmten ordner durchsuchen und löschen? es geht darum dass wegn...
  4. Rekursiver Algorithmus mit Fibonacci Funktion (Fibo)

    Rekursiver Algorithmus mit Fibonacci Funktion (Fibo): Hallo zusammen, hat von Euch jemand eine Idee, für ein Shell Script mit einem Recrusiven Algorithmus mit einer Fibonacci Funktion? Ich will...
  5. Rekursives Auslesen über 2 Ebenen und Ausführen von mehreren Befehlen

    Rekursives Auslesen über 2 Ebenen und Ausführen von mehreren Befehlen: Hallo zusammen, mein Ziel ist das rekursive Auslesen von 2 Verzeichnisebenen und das ausführen von Befehlen auf den vorhandenen Dateien. Konkret...