Précédent   Forum des professionnels en informatique > Systèmes > Autres systèmes > Unix > AIX
AIX Forum d'entraide sur le système AIX. Avant de poster -> FAQ AIX et cours AIX
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 30/05/2011, 21h31   #1
Membre à l'essai
 
Inscription : mars 2004
Messages : 122
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 122
Points : 20
Points : 20
Par défaut probleme avec la commande find

Bonjour.

J'essaie d'exécuter cette commande :

Code :
find /apps/dev_distribue/dev/data_extract -name '*.dat' -mtime +0 -exec touch code.test;
Et je reçois :

Code :
find: 0652-018 An expression term lacks a required parameter
En fait, je veux trouver un fichier qui date d'aujourd'hui... si oui, je crée un fichier code.test..

Pouvez vous m'aider svp ?

Merci.
juin29 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 30/05/2011, 23h58   #2
Membre Expert
 
Avatar de Nudger
 
Homme Thomas Arnaud
Directeur de projet
Inscription : octobre 2010
Messages : 452
Détails du profil
Informations personnelles :
Nom : Homme Thomas Arnaud
Âge : 36
Localisation : France, Paris (Île de France)

Informations professionnelles :
Activité : Directeur de projet
Secteur : High Tech - Produits et services télécom et Internet

Informations forums :
Inscription : octobre 2010
Messages : 452
Points : 1 012
Points : 1 012
Envoyer un message via Skype™ à Nudger
Bonsoir,

Il faut échapper le ";" avec un "\":
Code :
find /apps/dev_distribue/dev/data_extract -name '*.dat' -mtime +0 -exec touch code.test \;
Sinon il est interprété par le shell mais pas envoyé à la commande find.
__________________
www.nudge.org Surveillez et optimisez vos applications Java
Nudger est déconnecté   Envoyer un message privé Réponse avec citation 40
Vieux 31/05/2011, 14h49   #3
Membre à l'essai
 
Inscription : mars 2004
Messages : 122
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 122
Points : 20
Points : 20
Est-ce que cette commande va aller chercher dans les sous-répertoires? il semble que oui...?? comment je pourrais dire de rester seulement dans le répertoire mentionné?
juin29 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 31/05/2011, 14h56   #4
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Salut,

Extrait du man find :

Code :
1
2
3
4
-maxdepth n
    Descendre au plus n niveaux (n étant un entier positif ou nul), dans
    les répertoires parcourus. `-maxdepth 0' signifie que les tests et les 
    actions ne s'appliquent qu'aux arguments de la ligne de commande.
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 30
Vieux 31/05/2011, 18h30   #5
Membre à l'essai
 
Inscription : mars 2004
Messages : 122
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 122
Points : 20
Points : 20
salut,

sur ma version de AIX le param -maxdepth pour find... quand je fais man find... je ne trouve que - depth... et j'ai des erreur à l'exécution comme :

Code :
1
2
3
4
5
6
7
8
find /PosteCanada -maxdepth 0 -name '*.add' -mtime +0 -exec touch code.test \;

find: 0652-017 -maxdepth is not a valid option.

find /PosteCanada -depth 0 -name '*.add' -mtime +0 -exec touch code.test \;

find: 0652-009 There is a missing conjunction
est-ce que j'ai une erreur dans la facon de l'appeler ou je dois utiliser autre chose?

merci
juin29 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 31/05/2011, 18h48   #6
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Citation:
Envoyé par juin29 Voir le message
sur ma version de AIX le param -maxdepth pour find...
Il aurait fallu commencer par là et à défaut poster dans le forum Unix et non Linux


Citation:
quand je fais man find... je ne trouve que - depth... et j'ai des erreur à l'exécution
Si l'option n'existe pas c'est râpé, d'autant plus que '-depth' n'est pas du tout fait pour ça


Citation:
est-ce que j'ai une erreur dans la facon de l'appeler ou je dois utiliser autre chose?
Utiliser autre chose oui, mais quoi ?
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 30
Vieux 31/05/2011, 20h55   #7
Membre à l'essai
 
Inscription : mars 2004
Messages : 122
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 122
Points : 20
Points : 20
Oups j'avais pas vu qu'il y avait un site spécifique à AIX...

Je vais regarder par là mais si vous pensez à quelques choses... j'aprécierait avoir vos idées aussi...

merci
juin29 est déconnecté   Envoyer un message privé Réponse avec citation 10
Vieux 31/05/2011, 21h12   #8
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Est-ce qu'il y a beaucoup de sous-répertoires dans le répertoire en question ?


S'il y en a très peu, voir du côté de l'option "-prune".
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 01/06/2011, 11h20   #9
Modérateur
 
Avatar de gangsoleil
 
R&D en systemes informatiques bas niveau Unix/Linux
Inscription : mai 2004
Messages : 5 464
Détails du profil
Informations personnelles :
Âge : 31
Localisation : France, Isère (Rhône Alpes)

Informations professionnelles :
Activité : R&D en systemes informatiques bas niveau Unix/Linux

Informations forums :
Inscription : mai 2004
Messages : 5 464
Points : 9 585
Points : 9 585
Bonjour,

Code :
find /PosteCanada -name '*.add' -mtime +0 -exec touch code.test \;
Tu cherches dans PosteCanada, et si tu trouves un fichier .add avec une heure de modification de 0, alors tu crees un fichier code.test, dans le repertoire courant.

A quoi te sert la creation du fichier ? Pourquoi ne pas plutot utiliser le code de retour de find ?
__________________
Modérateur "C", "Informatique Générale & Hardware" et "Unix"
Les règles du forum
gangsoleil est déconnecté   Envoyer un message privé Réponse avec citation 30
Vieux 01/06/2011, 14h41   #10
Membre à l'essai
 
Inscription : mars 2004
Messages : 122
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 122
Points : 20
Points : 20
Tout d'abord, il y a 5 sous répertoires qui eux aussi ont des sous-répertoire

Ensuite, je veux créé un fichier car ce sera un indicatif pour une autre job... en fait les 2 job sont appelé par un céduleur autre que le crontab et est complètement indépendant de AIX.

C'est avec ce ceduleur que je veux faire exécuter la commande. De là l'importance de tout faire dans une ligne.
juin29 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 01/06/2011, 15h38   #11
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Tu peux essayer comme ça :

Code :
find /PosteCanada \( -name rep1 -prune -o -name rep2 -prune -o -name rep3 -prune -o -name rep4 -prune -o -name rep5 -prune \) -o -name '*.add' -mtime 0 -exec touch code.test \;
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 01/06/2011, 19h44   #12
Membre à l'essai
 
Inscription : mars 2004
Messages : 122
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 122
Points : 20
Points : 20
le mtime+1 voudrais dire que le fichier ne doit pas avoir une date > que demain c'est bien ca?
juin29 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 01/06/2011, 20h09   #13
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Citation:
Envoyé par juin29 Voir le message
le mtime+1 voudrais dire que le fichier ne doit pas avoir une date > que demain c'est bien ca?
Non, une date supérieure à 24 heures, mais dans le sens modifié depuis plus de 24 heures.
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 20
Vieux 01/06/2011, 20h15   #14
Membre à l'essai
 
Inscription : mars 2004
Messages : 122
Détails du profil
Informations forums :
Inscription : mars 2004
Messages : 122
Points : 20
Points : 20
en faisant des test... je crois que ctime est mieux dans mon cas... non?

genre find /PosteCanada -name '*.ksh' -ctime 1 -exec touch code.test1 \;
juin29 est déconnecté   Envoyer un message privé Réponse avec citation 01
Vieux 01/06/2011, 20h19   #15
Expert Confirmé
 
Inscription : janvier 2011
Messages : 970
Détails du profil
Informations personnelles :
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations forums :
Inscription : janvier 2011
Messages : 970
Points : 2 871
Points : 2 871
Ben tout dépend, mais je ne crois pas que ce soit le plus adapté...

ctime = changement de statut du fichier
mtime = modification du fichier
atime = accès au fichier

A toi de voir...
__________________
$ man woman
Il n'y a pas de page de manuel pour woman.
zipe31 est déconnecté   Envoyer un message privé Réponse avec citation 20
Réponse Proposer ce sujet en actualité
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 17h29.


 
 
 
 
Partenaires

Hébergement Web