[AIX 5.1.9] find non recursif avec prune ?

Résolu/Fermé
_vince Messages postés 37 Date d'inscription mardi 30 janvier 2007 Statut Membre Dernière intervention 14 mai 2008 - 5 juil. 2007 à 17:25
 zorgass - 10 oct. 2007 à 14:01
Bonjour,

Je cherche a deplacer des vieux fichiers de logs dans un sous repertoire avec la commande find suivante:

find /path-to/ -type f -name '*.log' -mtime +2 -exec mv {} /path-to/old-logs/ \;

Mais je ne veux pas que le mv s'applique aux fichiers deja presents dans le sous-repertoire old-logs/.

J'ai bien tente l'option -prune:
find /path-to/ -prune -type f -name '*.log' -mtime +2

Mais cette commande ne me renvoie aucun fichier. D'apres la page de man, je m'attendrais a avoir seulement les fichiers du repertoire /path-to/ ???

Et sur AIX, l'option "-maxdepth" n'existe pas.

Quelqu'un a-t-il une idee comment utiliser -prune ?

Merci d'avance

3 réponses

Personnelement j'aurai écris :
find ./* -prune -type f -name '*.log' -mtime +2
1
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 894
5 juil. 2007 à 18:31
Salut,

Essaye plutôt ça :
find /path-to/ -path '/path-to/old-logs' -prune -type f -name '*.log' -mtime +2 
non ?

;-))
0
_vince Messages postés 37 Date d'inscription mardi 30 janvier 2007 Statut Membre Dernière intervention 14 mai 2008
5 juil. 2007 à 21:14
J'ai essayé mais l'option -path n'existe pas sous AIX.
0
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 894
5 juil. 2007 à 21:48
Essaye ça alors :
find /path-to  \(-name old-logs -prune \) -o \( -type f -name '*.log' -mtime +2 -print \)
;-))
0
_vince Messages postés 37 Date d'inscription mardi 30 janvier 2007 Statut Membre Dernière intervention 14 mai 2008
6 juil. 2007 à 09:22
Effectivement, ca marche. Merci beaucoup. J'avoue que je n'aurais jamais pense a ecrire ca.
0