¿Cómo encontrar archivos por la longitud del nombre de archivo en OS X 10.9.1?

2

Es necesario encontrar archivos / carpetas con nombres más largos que los caracteres n (OS X 10.9.1).

¿Podrías ayudarme?

    
pregunta user65541 23.12.2013 - 19:53

3 respuestas

2

La forma más básica es, probablemente, usar globbing:

find . -type f -name '???????????*'

Esto mostrará una lista de todos los archivos con una longitud de nombre de archivo superior a 10 caracteres. Hay 11 signos de interrogación y el asterisco coincide con los de mayor longitud. Modifique el número de signos de interrogación para que coincidan con lo que está buscando.

Para mayor o igual a 10, usa ??????????* , o para igual a 10 usa ?????????? .

    
respondido por el grg 23.12.2013 - 20:21
3

Puede usar el comando find con la opción -regex (expresión regular). Es probable que esto sea menos eficiente que los globos, porque -regex coincide con la ruta completa.

find -E . \( -type f -or -type d \) -and -regex '.*/[^/]{11,}'

Precisamente, este comando hace lo siguiente:

  • busca recursivamente los archivos en la carpeta actual y en los subdirectorios (puede limitar la profundidad con una cláusula -maxdepth n adicional);
  • utiliza la sintaxis extendida ( -E ) para las expresiones regulares.
  • busca archivos y carpetas ( -type f -or -type d )
  • coincidencia de expresiones regulares: la cadena que sigue a la última barra en la ruta del archivo debe tener 11 caracteres o más.
respondido por el pietrodn 25.12.2013 - 22:51
1

También puedes simplemente filtrar la salida de find:

find .|awk -F/ 'length($NF)>=11'

-F establece IFS , NF es el número de campos, y $NF es el último campo.

    
respondido por el user495470 27.12.2013 - 16:56

Lea otras preguntas en las etiquetas