encontrar sin recursividad

Resuelto filippo asked hace 14 años • 4 respuestas

¿Es posible utilizar el findcomando de alguna manera que no se repita en los subdirectorios? Por ejemplo,

DirsRoot
  |-->SubDir1
  |    |-OtherFile1
  |-->SubDir2
  |    |-OtherFile2
  |-File1
  |-File2

¿Y el resultado de algo así find DirsRoot --do-not-recurse -type fserá solo File1, File2?

filippo avatar Oct 13 '10 22:10 filippo
Aceptado

Creo que obtendrás lo que deseas con la -maxdepth 1opción, según tu estructura de comando actual. De lo contrario, puede intentar buscar en la página de manual find.

Entrada relevante (por conveniencia):

-maxdepth levels
          Descend at most levels (a non-negative integer) levels of direc-
          tories below the command line arguments.   `-maxdepth  0'  means
          only  apply the tests and actions to the command line arguments.

Tus opciones básicamente son:

# Do NOT show hidden files (beginning with ".", i.e., .*):
find DirsRoot/* -maxdepth 0 -type f

O:

#  DO show hidden files:
find DirsRoot/ -maxdepth 1 -type f
eldarerathis avatar Oct 13 '2010 15:10 eldarerathis

Creo que estás buscando -maxdepth 1.

waffle paradox avatar Oct 13 '2010 15:10 waffle paradox

Si busca una solución compatible con POSIX:

cd DirsRoot && find . -type f -print -o -name . -o -prune

-max Depth no es una opción compatible con POSIX.

sqr163 avatar Oct 02 '2014 14:10 sqr163