Si analizar la salida de ls
es peligroso porque puede romper algunos caracteres extraños (espacios \n
, ...), ¿cuál es la mejor manera de saber la cantidad de archivos en un directorio?
Por lo general, confío en find
evitar este análisis, pero de manera similar, find mydir | wc -l
se romperá por las mismas razones.
Estoy trabajando en Solaris en este momento, pero estoy buscando una respuesta lo más portátil posible en diferentes unidades y diferentes shells.
find
obtendrá el número de archivos de forma recursiva (úselo -maxdepth 1
si no lo desea. find mydir -maxdepth 1 -type f -printf \\n | wc -l
Debe manejar los caracteres especiales en el nombre del archivo, ya que nunca se imprimen en primer lugar.