OVH Cloud OVH Cloud

[script bash] - deplacement de fichier

3 réponses
Avatar
ghjghj
Bonjour,

je veux deplacer un fichier d'un repertoire a un autre dans un script.
Mais comment controler si le fichier n'existe pas deja dans le repertoire
de destination, sachant que s'il existe je le renomme en lui mettant un
indice ?
Mon script de depart m'indiquait la presence d'un fichier de meme nom dans
le repertoire de destination lors du mv, mais il ne le fait plus (et je sais
pas pourquoi).

Merci

Grand's

3 réponses

Avatar
Chris
Salut,

ghjghj wrote:

Bonjour,

je veux deplacer un fichier d'un repertoire a un autre dans un script.
Mais comment controler si le fichier n'existe pas deja dans le repertoire
de destination, sachant que s'il existe je le renomme en lui mettant un
indice ?
Mon script de depart m'indiquait la presence d'un fichier de meme nom dans
le repertoire de destination lors du mv, mais il ne le fait plus (et je sais
pas pourquoi).



en bash ou sh tu peux faire

if [ -f /etc/group ]
then
echo "Le fichier /etc/group existe !"
else
echo " Pas de fichier /etc/group ?!?"
fi

ou plus dans le vent

[ -f /etc/group ] && cp mon_fichier /etc/group.1

man test

A+
chris

Merci

Grand's







Avatar
David LE BOURGEOIS


[ -f /etc/group ] && cp mon_fichier /etc/group.1


Et si /etc/group.1 existe ? :-p


Solution donnée dans fcolc :

[...]
while [ -e "$destination$indice" ]
do
let indice=indice+1
done
mv "$source" "$destination$indice"
[...]

--
David LE BOURGEOIS

Avatar
ghjghj
Merci bcp a toi
Seulement la c'est le rep de destination que tu indice.
La destination ne change pas, c'est la source que je dois indicer.
Ce que je ne sais pas c'est si j'indice le fichier ( file = $file$indice )
dans ma boucle de controle, est que le controle va se faire sur le nouveau
fichier ??
Merci

Grand's

"David LE BOURGEOIS" a écrit dans le
message news: 3ff07def$0$24032$


[ -f /etc/group ] && cp mon_fichier /etc/group.1


Et si /etc/group.1 existe ? :-p


Solution donnée dans fcolc :

[...]
while [ -e "$destination$indice" ]
do
let indice=indice+1
done
mv "$source" "$destination$indice"
[...]

--
David LE BOURGEOIS