Merci pour toutes vos reponses ! Je n'ai pu les tester que ce matin, decalage horaire oblige.
J'ai essaye le tar, mais ca n'a pas marche. Liste d'arguments trop longue encore une fois...
Du coup, j'ai cree un petit script perl, qui marche. L'idee est la meme que celle exposee dans vos reponses: au lieu de traiter tous les fichiers d'un coup, il faut les traiter un par un. Voila ce que donne le code:
#!/usr/bin/perl -w
use File::Copy;
use strict;
my @files;
my $files;
my ($origpath,$destpath);
# On recupere les repertoires d'origine de destination en lisant la liste d'arguments du script
$origpath = $ARGV[0];
$destpath = $ARGV[1];
chomp($origpath);
chomp($destpath);
# On liste l'ensemble des fichiers contenus dans le repertoire d'execution du script
opendir(FOLD, $origpath);
@files = readdir(FOLD);
closedir(FOLD);
# Et maintenant, on peut copier les fichiers !
foreach $files (@files) {
chomp($files);
if($files =~ /sac$/) {
print("$origpath/$files --> $destpath/$files ... ");
File::Copy::copy("$origpath/$files","$destpath/$files") or die("Couldn't copy the file $files: $!");
print("done\n");
}
}
Il suffit de fournir le repertoire d'origne et celui de destination, et c'est parti !
Je ne copie qu'un seul type de fichiers dont je connais l'extension (.sac en l'occurence), c'est pourquoi je ne fournis que les repertoires. Mais il est tres simple d'ajouter un argument a l'executer pour ne traiter que le type de fichier voulu.
Petit oubli:
Pour que le script fonctionne, il faut le sauvegarder avec une extension en .pl et le rendre executable.
Et pour plus de souplesse, il faut le placer dans un repertoire ou les executables sont recherches par Fedora... Un repertoire bin, a tout hasard ? Etant le seul utilisateur de ma machine, je me suis cree mon propre repertoire bin dans mon repertoire home, et j'ai rajoute la ligne qui va bien dans mon fichier .bash_profile .
Quelque chose qui ressemble a ca: PATH=$PATH:/home/user/bin
Voila, merci beaucoup pour toutes vos contributions, c'est super sympa !
@+