Utiliser la commande FIND non recursive

Résolu/Fermé
noury - 1 oct. 2004 à 15:54
 bill - 5 juin 2012 à 15:26
Bonjour,
est ce que quelqu'un c'est comment utiliser la commande find sans descendre dans l'arborescence des répertoires ?

7 réponses

jisisv Messages postés 3645 Date d'inscription dimanche 18 mars 2001 Statut Modérateur Dernière intervention 15 janvier 2017 934
1 oct. 2004 à 19:38
Tu utilises l'option -maxdepth
find . -name '*.c'   -maxdepth 1 -type f 

--> tous les fichiers du répertoire courant.

Johan
Gates gave you the windows.
GNU gave us the whole house.(Alexandrin)
15
Je ressors le sujet de sa tombe au cas où quelqu'un tombe dessus lors d'une recherche.
En fait, il y a une solution avec prune :

find . \( -type d ! -name . -prune \) -o -type f -print

1) On indique que les répertoires qui ne s'appellent pas "." ne sont pas parcourus
2) On demande l'affichage des fichiers
7
God bless you ;-)
0
merci
0
et sinon sous AIX il suffit d'utiliser la commande ls sans filtre (la limitation du ls n'apparait qu'avec des filtres).
donc ls -1|grep TOTO pour filtrer tous les fichiers du répertoire courant qui contiennent "TOTO"
ou ls -1|awk '/^TOTO.*$/' pour filtrer tous les fichiers du répertoire courant qui commencent par TOTO ( etc...)
=> pas de récursivité
pour supprimer (exemple avec tous les fichiers commençant par TOTO:

ls -1|awk '/^TOTO.*$/{system("rm -f " $0)}'
0
Un autre exemple (qui a fonctionné sous HPUX)

Pour supprimer tous les fichiers plus vieux que 3 jours que dans ce répertoire....
find . \( -type d ! -name . -prune \) -o -type f -mtime +3 -exec echo rm {} \; > cleanup.sh

il suffit ensuite d'exécuter cleanup.sh après vérification.
0
Merci d'avoir ressorti cette solution. Elle vient de me servir (2011).
0
B@|-|@N Messages postés 386 Date d'inscription jeudi 15 janvier 2004 Statut Membre Dernière intervention 7 décembre 2007 62
1 oct. 2004 à 16:36
ben fais un man find pour plus d'infos su la commande find de linux.

find dossier_ds_lequel_tu_cherches -name nom_du_fichier_a_chercher

Bahan

Close the world.||.txen eht nepO
0
hey biloute.
Vu qu'il y a 15000 lignes de manuel -> tu est HS
0
bonjour

J'ai la même question mais pour AIX/Solaris/etc, c'est pà dire pas Linux !
-[min/max]depth n'existe pas.

Je pense personellement que c'est impossible, maisquelqu'un a peut être un autre avis ?
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
oh, avec des | et des ls on devrait y arriver, non ?
0
non non, on peut ou on peut pas mais il faut savoir que ça ne marche que sous Linux, point barre.
A priori on devrait clore ce sujet et statut résolu.
0
Pour AIX/Solaris/etc vous pouvez utilisez -prune
(Je viens de voir que la réponse a déjà été donné..)
0