Le 30/05/06, Hervé Lefebvre <[EMAIL PROTECTED]> a écrit :
> Je ferais un truc de ce genre (non testé) :
>
> NOMBRE_NOTES=`ls ./notes/${TYPE}/prd/${NOM} | wc -l `
> NOMBRE_RECIPES==`ls ./recipe/${TYPE}/prd/${NOM} | wc -l `
> DERNIERE_NOTE=`ls ./notes/${TYPE}/prd/${NOM} | tail -1`
> DERNIERE_RECIPE=`ls ./recipes/${TYPE}/prd/${NOM} | tail -1`
>
> if [ ${NOMBRE_NOTES} -lt ${NOMBRE_RECIPES} ]; then
> cp ${DERNIERE_RECIPE} ./notes/${TYPE}/prd/${NOM}
> fi
>
>
> if [ ${NOMBRE_RECIPES} -lt ${NOMBRE_NOTES} ]; then
> cp ${DERNIERE_NOTE} ./notes/${TYPE}/prd/${NOM}
> fi
>
>
> Et puis tu boucles dans tous tes
> répertoires ./notes/${TYPE}/prd/${NOM} avec ça...
En plus du problème qu'il peut manquer plus d'une version, ton bout de
code me fait penser à une autre question pour Manu : les fichiers qui
manquent sont forcément les derniers ? Ou bien peut-il y avoir des
trous du genre 1, 3, 4 ?
> Attention cependant, si il peut manquer 2 versions et non pas une
> seule, ça ne va pas marcher. Dans ce cas il faudrait faire un truc du
> genre :
>
> for i in ./notes/${TYPE}/prd/${NOM}/* do
> VERSION=basename $i
> if [ ! -f ./recipe/${TYPE}/prd/${NOM}/${VERSION} ]
> cp $i ./recipe/${TYPE}/prd/${NOM}/
> fi
Là, le problème, c'est que ça ne va compléter que dans un sens. Que se
passe-t-il s'il y a une version existante sous recipe, et pas sous
notes ? (c'était le sens d'une de mes questions).
Si ce cas est possible, il faudrait compléter ton code par la même
boucle en inversant notes et recipe. Mais je me demande s'il n'y aurait
pas plus efficace...
--
Christophe Gaubert
http://ch4tn01r.free.fr/blog
Participez à la liste Avis de citoyens :
http://fr.groups.yahoo.com/group/Avis_de_citoyens/
____________________________________________________
Want to buy your Pack or Services from Mandriva?
Go to http://store.mandriva.com
Join the Club : http://www.mandrivaclub.com
____________________________________________________