Utiliser la commande FIND non recursive

Résolu
noury -  
 bill -
Bonjour,
est ce que quelqu'un c'est comment utiliser la commande find sans descendre dans l'arborescence des répertoires ?

7 réponses

  1. jisisv Messages postés 3678 Statut Modérateur 936
     
    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
  2. Thibal
     
    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
    1. pitch58fr
       
      God bless you ;-)
      0
    2. mumuri
       
      merci
      0
    3. den07y
       
      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
    4. Antoine
       
      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
    5. Aleph
       
      Merci d'avoir ressorti cette solution. Elle vient de me servir (2011).
      0
  3. B@|-|@N Messages postés 386 Statut Membre 62
     
    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
    1. bill
       
      hey biloute.
      Vu qu'il y a 15000 lignes de manuel -> tu est HS
      0
  4. scavenger
     
    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
  5. Vous n’avez pas trouvé la réponse que vous recherchez ?

    Posez votre question
  6. aaa
     
    oh, avec des | et des ls on devrait y arriver, non ?
    0
  7. scavenger
     
    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
  8. Clust
     
    Pour AIX/Solaris/etc vous pouvez utilisez -prune
    (Je viens de voir que la réponse a déjà été donné..)
    0