Usar el comando FIND no recursivo

Resuelto
noury -  
 bill -
Hola, ¿alguien sabe cómo usar el comando find sin descender en la jerarquía de directorios?

7 respuestas

  1. jisisv Mensajes publicados 3678 Estado Moderador 936
     
    Usas la opción -maxdepth
     find . -name '*.c' -maxdepth 1 -type f 

    --> todos los archivos del directorio actual.

    Johan
    Gates te dio las ventanas.
    GNU nos dio toda la casa.(Alexandrino)
    15
  2. Thibal
     
    Saco el tema de su tumba por si alguien lo encuentra durante una búsqueda.
    En realidad, hay una solución con prune:

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

    1) Indicamos que los directorios que no se llaman "." no se recorren
    2) Solicitamos la impresión de los archivos
    7
    1. pitch58fr
       
      Que Dieu vous bénisse ;-)
      0
    2. mumuri
       
      gracias
      0
    3. den07y
       
      y si no, en AIX basta con usar el comando ls sin filtros (la limitación de ls no aparece solo con filtros).
      por lo tanto ls -1|grep TOTO para filtrar todos los archivos del directorio actual que contengan "TOTO"
      o ls -1|awk '/^TOTO.*$/' para filtrar todos los archivos del directorio actual que empiezan por TOTO ( etc...)
      => no hay recursividad
      para eliminar (ejemplo con todos los archivos que empiezan por TOTO:

      ls -1|awk '/^TOTO.*$/{system("rm -f " $0)}'
      0
    4. Antoine
       
      Otro ejemplo (que funcionó en HPUX)

      Para eliminar todos los archivos más antiguos de 3 días que están en este directorio....
      find . \( -type d ! -name . -prune \) -o -type f -mtime +3 -exec echo rm {} \; > cleanup.sh

      luego basta con ejecutar cleanup.sh después de la verificación.
      0
    5. Aleph
       
      Gracias por sacar a relucir esta solución. Me ha servido (2011).
      0
  3. B@|-|@N Mensajes publicados 386 Estado Miembro 62
     
    haz un man find para más información sobre el comando find de Linux.

    find carpeta_donde_buscas -name nombre_del_archivo_a_buscar

    Bahan

    Cerrar el mundo.||.txen eht nepo
    0
    1. bill
       
      Oye biloute.
      Ya que hay 15000 líneas de manual -> estás fuera de service (HS)
      0
  4. scavenger
     
    hola

    Tengo la misma pregunta pero para AIX/Solaris/etc, es decir, ¡no Linux!
    -[min/max]depth no existe.

    Personalmente creo que es imposible, pero ¿alguien tiene tal vez otra opinión?
    0
  5. aaa
     
    oh, con barras verticales y ls deberíamos poder lograrlo, ¿no?
    0
  6. scavenger
     
    no, no, se puede o no se puede pero hay que saber que eso solo funciona bajo Linux, punto y final.
    A priori deberíamos cerrar este tema y dejarlo resuelto.
    0
  7. Clust
     
    Para AIX/Solaris/etc puedes usar -prune
    (Acabo de ver que la respuesta ya había sido dada..)
    0