[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

un script pour traitement par batch



Bonjour à tous,

Je souhaite copier à part un certain nombre de fichiers choisis dans un répertoire. Sur les 1200 fichiers que contient ce répertoire, j'en ai sélectionné un peu plus de 400 de la liste, et j'ai éliminé les autres... Je les éliminés d'une liste récupérée via 'ls -l > nomliste.txt', et non pas du répertoire ou d'une copie de celui-ci, ce qu'il aurait mieux valu que je fasse. Ce tri sur la liste m'ayant pris plusieurs heures de travail fastidieux, j'espère éviter de devoir le recommencer sur le contenu du répertoire. En fait, comme cette liste représentait déjà une sélection du contenu dudit répertoire, c'est environ 12500 fichiers qu'il me faudrait à nouveau trier.

Comment copier, à partir de cette liste ? S'il ne s'était agit que d'une ou deux douzaines de fichiers, je n'eusse pas été embarrassé de faire 2 ou 3 douzaines de fois la manip suivante :

cp /mnt/exthd/copié_collé_du_nom_du_fichier.sdm /home/mydir

mais là, avec plus de 400 fichiers, c'est un peu fastidieux à faire ainsi. Alors, d'après ma liste de fichiers (chaque ligne comprenant un fichier avec la commande 'cp' que j'ai ajouté en chaque tête de ligne grâce à une manip dans un tableau OO_calc), comment est-ce que je peux faire un traitement en batch ?

Un problème du même genre s'était posé à moi il y a 3 ou 4 ans, et je l'avais résolu par une petite routine écrite en Pascal (Free Pascal), ce qui avait été possible avec une routine 'for n=x to y do' parce que les noms de fichiers étaient faits de numéros croissants, ce qui n'est pas le cas pour mon problème actuel. En fait, les fichiers à traiter sont composés de chaînes de caractères avec des espaces (ce qui m'a obligé de les inclure entre des ' '), car il s'agit d'un archivage d'e-mails reçus via StarOffice 5.1 et 5.2, sur mon ancien ordi.

Merci d'avance pour toute suggestion pertinente.


Bernard


Reply to: