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: