Schrift
[thread]298[/thread]

Grep [ausser *.x]: Mit grep alle Dateien ausser *.x aulesen

Leser: 3


<< >> 9 Einträge, 1 Seite
Kogge
 2004-06-17 19:11
#2898 #2898
User since
2004-06-17
24 Artikel
BenutzerIn
[default_avatar]
Hallo Zusammen!!

Ich hätte gerne gewusst wie ich alle Dateien in einem Ordner ausser *.html mit der grep-Funktion auslesen kann!!

Code: (dl )
1
2
3
4
5
$dir = 'datas';

opendir DIR, $dir or die "Can't open $dir: $!";
my @files = grep (-f "$dir/$_",readdir DIR);
closedir DIR;


Kann mir da jemand weiterhelfen!?\n\n

<!--EDIT|Kogge|1087486011-->
Gast Gast
 2004-06-17 19:29
#2899 #2899
So sollte es funktionieren
Code: (dl )
1
2
3
4
5
$dir = 'datas';

opendir DIR, $dir or die "Can't open $dir: $!";
my @files = grep ! /\.html$/, readdir DIR;
closedir DIR;
ptk
 2004-06-17 19:46
#2900 #2900
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
Und nun noch die Verzeichnisse filtern... der Fragesteller moechte anscheinend nur Dateien.
Gast Gast
 2004-06-17 20:11
#2901 #2901
[quote=ptk,17.06.2004, 17:46]Und nun noch die Verzeichnisse filtern... der Fragesteller moechte anscheinend nur Dateien.[/quote]
Eben ... die bekommt er ja indem er $dir vorgibt!
Nicht gelesen?

Edit: ptk lass gut sein ... Du bist hier Moderator und kein Aufwühler!\n\n

<!--EDIT|Dieter|1087493168-->
Kogge
 2004-06-17 21:25
#2902 #2902
User since
2004-06-17
24 Artikel
BenutzerIn
[default_avatar]
Danke für die Antwort!!

Nur aus neugier, da ich noch nicht solange mit perl zu tun habe!! Wie sieht der Code aus wenn ich mehrere Dateiendungen vermeiden will z.Bsp. *.html, *.csv und sich auch noch unterordner in dem Verzeichniss befinden die ich nicht anzeigen will!?? :rock:
Gast Gast
 2004-06-17 21:30
#2903 #2903
Code: (dl )
1
2
3
4
5
$dir = 'datas';

opendir DIR, $dir or die "Can't open $dir: $!";
my @files = grep ! /\.html$|\.csv$/, readdir DIR;
closedir DIR;


Wenn Du $dir spezifizierst (und das tust Du ja) werden die Unterverzeichnisse ignoriert.
Kogge
 2004-06-17 21:37
#2904 #2904
User since
2004-06-17
24 Artikel
BenutzerIn
[default_avatar]
Es ist eben so dass sich im selben Verzeichniss weitere Dateien und einige Verzeichnisse mit require Modules (selber definierte) sich befinden!! Ich will halt nur die andere Dateien und nicht auch noch die Verzeichnisse drin haben.
ptk
 2004-06-17 21:56
#2905 #2905
User since
2003-11-28
3645 Artikel
ModeratorIn
[default_avatar]
@kogge: Glaub nicht alles, was Dieter so schreibt. Eine moegliche Antwort waere:

Code: (dl )
1
2
3
4
$dir = 'datas';
opendir DIR, $dir or die "Can't open $dir: $!";
my @files = grep -f "$dir/$_" && ! /\.html$|\.csv$/, readdir DIR;
closedir DIR;


Wichtig ist, bei der man "$dir/$_" und nicht einfach nur $_ schreibt --- ein gern gemachter Fehler. Man befindet sich waehrend des readdirs eben nicht im durchsuchten Verzeichnis.
Kogge
 2004-06-17 21:59
#2906 #2906
User since
2004-06-17
24 Artikel
BenutzerIn
[default_avatar]
:D Dankeschön!! Genau das was ich gesucht habe!!! :D
<< >> 9 Einträge, 1 Seite



View all threads created 2004-06-17 19:11.