Tengo más de 100,000 archivos en un directorio en mi MacOS X y parece que es lento para mi script leer un archivo en ellos.
¿Hay alguna limitación o recomendación para tener tantos archivos? ¿Debería dividirlos en algunos directorios?
La limitación que encontré fue que no puedo mv * foo
para todos los 100,000 archivos. Muestra un error, diciendo "argumento demasiado largo". Funciona con aproximadamente menos de 20,000 archivos.
*
o ?
como parte de un argumento para un comando, el sistema operativo busca en todo el directorio archivos coincidentes (lento) y luego reemplaza su argumento con una lista de cada archivo coincidente (largo), que luego pasa al mando. Se podría hacer mejor con un lazo o con varios mv, por ejemplo, mv a* foo && mv b* foo
.