¿Es posible usar el find
comando de alguna manera para que no vuelva a aparecer en los subdirectorios? Por ejemplo,
DirsRoot
|-->SubDir1
| |-OtherFile1
|-->SubDir2
| |-OtherFile2
|-File1
|-File2
¿Y el resultado de algo así find DirsRoot --donotrecuourse -type f
será solo File1, File2
?
-maxdepth 1
?1
es probablemente lo que quiere.-maxdepth 0
no muestra ningún archivo pero-maxdepth 1
funciona según lo previsto, y también se muestran archivos ocultos.*
en cuenta la entradafind DirsRoot/* -maxdepth 0 -type f
. Si deja eso fuera, no mostrará ningún archivo.Creo que lo estás buscando
-maxdepth 1
.fuente
-maxdepth 1
?Si busca una solución compatible con POSIX:
cd DirsRoot && find . -type f -print -o -name . -o -prune
-maxdepth no es una opción compatible con POSIX.
fuente
find DirsRoot/* -type f -prune
?-prune
cierto) La respuesta es no, no puede. Para comprender completamente POR QUÉ no se puede simplificar, simplemente emita unset -x
comando antes de emitir elfind DirsRoot/* -type f -o -prune
e inmediatamente lo verá usted mismo. La causa raíz son las limitaciones de la expansión de la shell deDirsRoot/*
expresión.find . -name . -o -prune