Léa-Linux & amis :   LinuxFR   GCU-Squad   GNU
copie de fichiers
Envoyé par: Franck L

Bonjour,

Je voualis avoir un peu pour un script que je dois etablir.
Pour celui-c j'ai besoin de pouvoir faire ceci :

je veux parcourir un rep d'un utilisateur composé lui meme de sous repertoire eux meme de sous rep etc pour copier les données de tous les rep et sous rep dans un repertoire sans conserver l'arborescence.

avec un exemple je serai peut etre plus clair :

Au depart

/chloe :
photo1.jpg
rapport/
toto.doc

/chloe/rapport:
rapport1.doc
these/

/chloe/rapport/these :
intro.doc

et je voudrais avoir une fois copié

/savechloe/ :
photo1.jpg
toto.doc
rapport1.doc
intro.doc


Si quelqu'un peut me mettre sur une piste je vous remercie d'avance.

Franck
encore merci

Poste le Tuesday 8 June 2004 19:27:39
Répondre     Citer    
Re: copie de fichiers
Envoyé par: Jonesy's

Bonsoir,

Faire un script récursif.

Genre, en alogorithmie :
Appel du script :
#toto.sh <repertoire>

Le script :
---------------------------------
#!/usr/bin/sh

#Entrer dans le répertoire passé en paramétre
#Lire l'ensemble des élements du répertoire, sauf les fichiers "." et ".."
# Pour chaque élément regarder si c'est un fichier ou répertoire
# Si c'est un fichier : le copier dans le répertoire destination
# Si c'est un répertoire : toto.sh <le répertoire>
---------------------------------

@+


Poste le Tuesday 8 June 2004 21:58:57
Répondre     Citer    
Re: copie de fichiers
Envoyé par: Calou

tu fais un 'find .'
avec le resultat tu fais betement un cp

cp `find chloe` /savechloe

ca devrait aller.
Sache que c'est pas tres propre telquel. il faut que tu rajoutes des tests de doublons de fichier etc... mais l'idee est la.
ce qui est pas tres propre non plus ceux sont les fichiers .doc winking smiley

Poste le Wednesday 9 June 2004 08:38:02
Répondre     Citer    
Re: copie de fichiers
Envoyé par: F

plus proprement :

find . *doc -mtime -$X -exec cp {} sauvecloe/ \; && find . *jpg -mtime -$X -exec cp {} sauvecloe/ \;

ou $X est le nombre de jours ou tu veux controller que les fichiers ont changés

par exemple

find . -name *log -mtime +31 -exec rm -rf {} \;
efface tout fichier *log vieux de plus de 31jours.

Poste le Wednesday 9 June 2004 16:01:12
Répondre     Citer    
Re: copie de fichiers
Envoyé par: F

l'interet est d'empecher de copier un fichier identique evitant tout risque de doublons

Poste le Wednesday 9 June 2004 16:01:44
Répondre     Citer    
copie de fichier
Envoyé par: Franck L

Bonjour,

Merci de votre aide
je pense avoir trouver en me basant sur vos conseils

Merci

Poste le Wednesday 9 June 2004 16:55:34
Répondre     Citer    

Veuillez vous authentifier auparavant pour commenter.

 

Ce forum !
copie de fichiers
Pour poser vos questions sur les scripts shell, le Perl, le C, etc... Attention : nous ne sommes pas des spécialistes du dev, ce forum est juste pour de petites aides ponctuelles concernant le développement et les outils de développement.

Sauf mention contraire, les documentations publiées sont sous licence Creative-Commons