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

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
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
pitch58fr
 
Que Dieu vous bénisse ;-)
0
mumuri
 
gracias
0
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
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
Aleph
 
Gracias por sacar a relucir esta solución. Me ha servido (2011).
0
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
bill
 
Oye biloute.
Ya que hay 15000 líneas de manual -> estás fuera de service (HS)
0
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
aaa
 
oh, con barras verticales y ls deberíamos poder lograrlo, ¿no?
0
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
Clust
 
Para AIX/Solaris/etc puedes usar -prune
(Acabo de ver que la respuesta ya había sido dada..)
0