Si analizar la salida de lses 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 findevitar este análisis, pero de manera similar, find mydir | wc -lse 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.
findobtendrá el número de archivos de forma recursiva (úselo -maxdepth 1si no lo desea. find mydir -maxdepth 1 -type f -printf \\n | wc -lDebe manejar los caracteres especiales en el nombre del archivo, ya que nunca se imprimen en primer lugar.