liste des fichiers *.aaa et *.bbb d'un repertoire specifie
14 réponses
fun.x
Bonjour,
Je sais que ce genre de questions est assez basique, mais apres une
recherche sur les newsgroups, je n'arrive toujours pas a faire
exactement ce que je veux.
Voila, pour commencer, je desire recuperer la liste des fichiers *.aaa
et *.bbb d'un repertoire que je specifie en parametre. Evidemment, je
suis un debutant... :-)
J'ai essaye d'utiliser Glob mais ca ne marche pas des masses.
Merci pour votre aide.
Toute proposition d'optimisation est la bienvenue :-)
voila mon code:
use File::DosGlob;
use strict 'vars';
my $Argc=@ARGV;
if ($Argc != 1) {
printf ("USAGE: $0 <DIRECTORY>\n");
exit;
}
my $Dir = $ARGV[0];
#opendir(DIR, $Dir) or die("Error while openning directory $Dir\n");
Je sais que ce genre de questions est assez basique, mais apres une recherche sur les newsgroups, je n'arrive toujours pas a faire exactement ce que je veux.
Voila, pour commencer, je desire recuperer la liste des fichiers *.aaa et *.bbb d'un repertoire que je specifie en parametre. Evidemment, je suis un debutant... :-)
J'ai essaye d'utiliser Glob mais ca ne marche pas des masses.
Merci pour votre aide. Toute proposition d'optimisation est la bienvenue :-)
voila mon code:
use File::DosGlob; use strict 'vars';
my $Argc=@ARGV; if ($Argc != 1) { printf ("USAGE: $0 <DIRECTORY>n"); exit; }
my $Dir = $ARGV[0];
#opendir(DIR, $Dir) or die("Error while openning directory $Dirn");
my @list= glob("$Dir*.aaa $Dir*.bbb");
foreach (@list) { printf("$_n"); }
#closedir(DIR);
j'arrive peut être un peu tard et comme je ne suis que débutant, j'ai fait une truc du genre :
chdir($thisDir) foreach my $thisFile (<*.mp3>) { ... }
pour traiter uniquement les fichiers mp3 d'un dossier. si ça peut aider klp
In article <1117442148.143182.266530@g49g2000cwa.googlegroups.com>,
"fun.x" <fun.x@caramail.com> wrote:
Bonjour,
Je sais que ce genre de questions est assez basique, mais apres une
recherche sur les newsgroups, je n'arrive toujours pas a faire
exactement ce que je veux.
Voila, pour commencer, je desire recuperer la liste des fichiers *.aaa
et *.bbb d'un repertoire que je specifie en parametre. Evidemment, je
suis un debutant... :-)
J'ai essaye d'utiliser Glob mais ca ne marche pas des masses.
Merci pour votre aide.
Toute proposition d'optimisation est la bienvenue :-)
voila mon code:
use File::DosGlob;
use strict 'vars';
my $Argc=@ARGV;
if ($Argc != 1) {
printf ("USAGE: $0 <DIRECTORY>n");
exit;
}
my $Dir = $ARGV[0];
#opendir(DIR, $Dir) or die("Error while openning directory $Dirn");
my @list= glob("$Dir\*.aaa $Dir\*.bbb");
foreach (@list) {
printf("$_n");
}
#closedir(DIR);
j'arrive peut être un peu tard et comme je ne suis que débutant, j'ai
fait une truc du genre :
chdir($thisDir)
foreach my $thisFile (<*.mp3>) {
...
}
pour traiter uniquement les fichiers mp3 d'un dossier. si ça peut aider
klp
Je sais que ce genre de questions est assez basique, mais apres une recherche sur les newsgroups, je n'arrive toujours pas a faire exactement ce que je veux.
Voila, pour commencer, je desire recuperer la liste des fichiers *.aaa et *.bbb d'un repertoire que je specifie en parametre. Evidemment, je suis un debutant... :-)
J'ai essaye d'utiliser Glob mais ca ne marche pas des masses.
Merci pour votre aide. Toute proposition d'optimisation est la bienvenue :-)
voila mon code:
use File::DosGlob; use strict 'vars';
my $Argc=@ARGV; if ($Argc != 1) { printf ("USAGE: $0 <DIRECTORY>n"); exit; }
my $Dir = $ARGV[0];
#opendir(DIR, $Dir) or die("Error while openning directory $Dirn");
my @list= glob("$Dir*.aaa $Dir*.bbb");
foreach (@list) { printf("$_n"); }
#closedir(DIR);
j'arrive peut être un peu tard et comme je ne suis que débutant, j'ai fait une truc du genre :
chdir($thisDir) foreach my $thisFile (<*.mp3>) { ... }
pour traiter uniquement les fichiers mp3 d'un dossier. si ça peut aider klp
fun.x
Rajouter: (?<!f1.aaa) et lire la doc pour faire mieux.
Salut,
j'ai encore du mal a ajouter ton idee dans l'expression reguliere. Alors si tu as en tete une bonne doc sur le net, avec plein d'exemples... (genre "Regexp pour les nuls" ... :-) je suis preneur.
Parceque si le f1.aaa est un nom de fichier que je stocke dans une variable (ou que je recois en argument), il me faut - au sein de la meme expression - utiliser cette variable en en extrayant le nom de fichier sans extension (?<!_ici_.aaa)
Je posterais ici le resultat de ma reflexion, mais si vous avez une solution avant moi (et surement plus elegante), d'avance merci !
Rajouter:
(?<!f1.aaa)
et lire la doc pour faire mieux.
Salut,
j'ai encore du mal a ajouter ton idee dans l'expression reguliere.
Alors si tu as en tete une bonne doc sur le net, avec plein
d'exemples... (genre "Regexp pour les nuls" ... :-) je suis preneur.
Parceque si le f1.aaa est un nom de fichier que je stocke dans une
variable (ou que je recois en argument), il me faut - au sein de la
meme expression - utiliser cette variable en en extrayant le nom de
fichier sans extension (?<!_ici_.aaa)
Je posterais ici le resultat de ma reflexion, mais si vous avez une
solution avant moi (et surement plus elegante), d'avance merci !
Rajouter: (?<!f1.aaa) et lire la doc pour faire mieux.
Salut,
j'ai encore du mal a ajouter ton idee dans l'expression reguliere. Alors si tu as en tete une bonne doc sur le net, avec plein d'exemples... (genre "Regexp pour les nuls" ... :-) je suis preneur.
Parceque si le f1.aaa est un nom de fichier que je stocke dans une variable (ou que je recois en argument), il me faut - au sein de la meme expression - utiliser cette variable en en extrayant le nom de fichier sans extension (?<!_ici_.aaa)
Je posterais ici le resultat de ma reflexion, mais si vous avez une solution avant moi (et surement plus elegante), d'avance merci !
JacK
Le 01/06/2005 04:49, :
Rajouter: (?<!f1.aaa) et lire la doc pour faire mieux.
Salut,
j'ai encore du mal a ajouter ton idee dans l'expression reguliere. Alors si tu as en tete une bonne doc sur le net, avec plein d'exemples... (genre "Regexp pour les nuls" ... :-) je suis preneur.
Parceque si le f1.aaa est un nom de fichier que je stocke dans une variable (ou que je recois en argument), il me faut - au sein de la meme expression - utiliser cette variable en en extrayant le nom de fichier sans extension (?<!_ici_.aaa)
Je posterais ici le resultat de ma reflexion, mais si vous avez une solution avant moi (et surement plus elegante), d'avance merci !
Compulser: http://perl.enstimac.fr/
Le 01/06/2005 04:49, :
Rajouter:
(?<!f1.aaa)
et lire la doc pour faire mieux.
Salut,
j'ai encore du mal a ajouter ton idee dans l'expression reguliere.
Alors si tu as en tete une bonne doc sur le net, avec plein
d'exemples... (genre "Regexp pour les nuls" ... :-) je suis preneur.
Parceque si le f1.aaa est un nom de fichier que je stocke dans une
variable (ou que je recois en argument), il me faut - au sein de la
meme expression - utiliser cette variable en en extrayant le nom de
fichier sans extension (?<!_ici_.aaa)
Je posterais ici le resultat de ma reflexion, mais si vous avez une
solution avant moi (et surement plus elegante), d'avance merci !
Rajouter: (?<!f1.aaa) et lire la doc pour faire mieux.
Salut,
j'ai encore du mal a ajouter ton idee dans l'expression reguliere. Alors si tu as en tete une bonne doc sur le net, avec plein d'exemples... (genre "Regexp pour les nuls" ... :-) je suis preneur.
Parceque si le f1.aaa est un nom de fichier que je stocke dans une variable (ou que je recois en argument), il me faut - au sein de la meme expression - utiliser cette variable en en extrayant le nom de fichier sans extension (?<!_ici_.aaa)
Je posterais ici le resultat de ma reflexion, mais si vous avez une solution avant moi (et surement plus elegante), d'avance merci !
Compulser: http://perl.enstimac.fr/
Paul Gaborit
À (at) 30 May 2005 23:31:05 -0700, "fun.x" écrivait (wrote):
Comment completer la regexp en entree de grep ? avec un tag du genre !f1.aaa ?
Combiner une affirmation et une négation dans une expression rationnelle est toujours difficile et n'en facilite certainement pas la lecture. Je conseillerais plutôt un double 'grep' :
my @files_filtered; { opendir my $d, $dir or die "$dir: $!n"; @files_filtered grep {not m/^f1.aaa$/} grep {/.(?:aaa|bbb)Z/} readdir $d; closedir $d; # pas indispensable... } -- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>
À (at) 30 May 2005 23:31:05 -0700,
"fun.x" <fun.x@caramail.com> écrivait (wrote):
Comment completer la regexp en entree de grep ? avec un tag du genre
!f1.aaa ?
Combiner une affirmation et une négation dans une expression rationnelle est
toujours difficile et n'en facilite certainement pas la lecture. Je
conseillerais plutôt un double 'grep' :
my @files_filtered;
{
opendir my $d, $dir or die "$dir: $!n";
@files_filtered grep {not m/^f1.aaa$/}
grep {/.(?:aaa|bbb)Z/}
readdir $d;
closedir $d; # pas indispensable...
}
--
Paul Gaborit - <http://perso.enstimac.fr/~gaborit/>
Perl en français - <http://perl.enstimac.fr/>
À (at) 30 May 2005 23:31:05 -0700, "fun.x" écrivait (wrote):
Comment completer la regexp en entree de grep ? avec un tag du genre !f1.aaa ?
Combiner une affirmation et une négation dans une expression rationnelle est toujours difficile et n'en facilite certainement pas la lecture. Je conseillerais plutôt un double 'grep' :
my @files_filtered; { opendir my $d, $dir or die "$dir: $!n"; @files_filtered grep {not m/^f1.aaa$/} grep {/.(?:aaa|bbb)Z/} readdir $d; closedir $d; # pas indispensable... } -- Paul Gaborit - <http://perso.enstimac.fr/~gaborit/> Perl en français - <http://perl.enstimac.fr/>