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

Re: un script pour traitement par batch



Guy Roussin a écrit, mercredi 11 mars 2009, à 16:10 :
> Bonjour,

bonjour,

> Moi ce que je fais dans ces cas là, c'est que j'utilise mon éditeur de
> texte préféré (vi) pour transformer la liste de fichier texte en un  
> script bash
> avec un :%s/\(.*\)/cp "\1" \/home\/mydir/

...ou utiliser les commandes rectangulaires d'Emacs :) --- mais Sed fait
aussi le même travail.

> Je rajoute la 1ere ligne à la main :
> #!/bin/bash
>
> je rend exécutable et J'exécute le fichier ...

Tu peux aussi « sourcer » ce fichier sans ajouter la 1ere ligne... 

> Je sais pas si c'est pertinent mais ça le fait.

Bernard a  parlé de la  sortie de « ls  -l », qui contient  des colonnes
parasites à  élimiter (cf. cut ou  sed), mais a  peut-être confondu avec
« ls -1 » ?

Si le fichier « liste » contient  un nom (avec peut-être espace(s), mais
sans  retour ligne,  bien sûr)  de  fichier par  ligne, sans  caractères
parasites,

prefix="/rep/source/"
while read nom ; do
 cp "${prefix}${nom}" /home/mydir/
done <liste

devrait faire le travail ; il est possible d'optimiser...

Autre piste : des commandes acceptent en paramètre une liste de noms
(rsync ou tar, option --files-from=FILE).
-- 
Jacques L'helgoualc'h


Reply to: