Re: script

Page principale

Répondre à ce message
Auteur: Frédéric
Date:  
À: guilde
Sujet: Re: script
On lundi 24 novembre 2008, ALD wrote:

> dans un script, j'ai besoin de copier un fichier vers 2 répertoires en
> chageant son nom.
> Le nouveau nom est composé du nom d'origine auquel est rajouté un
> horodatage.
>
> j'ai fait ceci:
>
> for i in $DIRARCH $DIRPROWORK ; do cp -avf "$1" "$i`basename
> $1 .blend`_`date +"%Y%m%d-%H%M%S"`.blend" ; done
>
> DIRARCH et DIRPROWORK sont définies en début de script et ça
> fonctionne... presque.
>
> en effet, les fichiers écrits dans DIRARCH et DIRPROWORK n'ont plus le
> meme nom car ils ne sont pas créés exactement en meme temps. Si je ne
> demande plus les secondes, ce ne sera pas régler le probleme, mais
> simplement le décaler et il est important que les 2 aient le meme nom
> car la copie dans DIRARCH est une archive du fichier envoyé dans
> DIRPROWORK qui est le répertoire de travail des projets.
>
> je seche depuis un moment, car si je comprend bien pourquoi ça arrive
> (cp fait 2 passes) je ne sais pas comment "fixer" l'horodatage pour pas
> qu'il ne change entre les deux copies.
>
> si quelqu'un a une idée... d'avance merci


Utilise simplement une variable intermédiaire pour stocker la date :

d=`date +"%Y%m%d-%H%M%S"`
for i in $DIRARCH $DIRPROWORK ; do
cp -avf "$1" "$i`basename $1 .blend`_$d.blend"
done

-- 
    Frédéric


    http://www.gbiloba.org