GNU/Linux >> Tutoriales Linux >  >> Linux

¿Limitar el hallazgo de Posix a una profundidad específica?

Noté recientemente que las especificaciones POSIX para find no incluya el -maxdepth principal.

Para aquellos que no están familiarizados con él, el propósito de -maxdepth principal es restringir cuántos niveles de profundidad find descenderá. -maxdepth 0 da como resultado solo argumentos de la línea de comandos que se están procesando; -maxdepth 1 solo manejaría los resultados directamente dentro de los argumentos de la línea de comandos, etc.

¿Cómo puedo obtener el comportamiento equivalente al no POSIX -maxdepth? primario usando solo opciones y herramientas especificadas por POSIX?

(Nota:por supuesto que puedo obtener el equivalente de -maxdepth 0 simplemente usando -prune como el primer operando, pero eso no se extiende a otras profundidades).

Respuesta aceptada:

Puedes usar -path para que coincida con una profundidad dada y podar allí. Por ejemplo

find . -path '*/*/*' -prune -o -type d -print

sería profundidad máxima 1, como * coincide con el . , */* coincide con ./dir1 y */*/* coincide con ./dir1/dir2 que se poda. Si usa un directorio de inicio absoluto, debe agregar un / inicial a la -path también.


Linux
  1. ¿Limitar la salida de búsqueda y evitar la señal 13?

  2. ¿Cómo encontrar todos los archivos propiedad de un usuario específico en Unix/Linux?

  3. ¿Cómo limitar la profundidad para la lista de archivos recursivos?

  4. Buscando archivos que NO pertenecen a un usuario específico

  5. ¿Cómo puedo encontrar un archivo específico desde una terminal Linux?

Cómo encontrar una cadena o palabra específica en archivos y directorios

Cómo encontrar el paquete que proporciona un archivo específico en Linux

Encuentre cuándo se inició por última vez una versión específica del kernel de Linux

Cómo limitar la profundidad del 'árbol' para el listado de archivos recursivos

Buscar y eliminar archivos con una fecha específica

Cómo encontrar la fuente de una señal POSIX