Se analizzare l'output di lsè pericoloso perché può rompersi su alcuni caratteri funky (spazi,, \n...), qual è il modo migliore per conoscere il numero di file in una directory?
Di solito mi affido findper evitare questo parsing, ma allo stesso modo, find mydir | wc -lsi romperà per gli stessi motivi.
Sto lavorando su Solaris in questo momento, ma sto cercando una risposta il più portatile possibile tra diversi sistemi e shell.
findriceverà il numero di file in modo ricorsivo (utilizzare -maxdepth 1se non lo si desidera. find mydir -maxdepth 1 -type f -printf \\n | wc -ldovrebbe gestire i caratteri speciali nel nome del file, in quanto non vengono mai stampati in primo luogo.