Jeśli parsowanie danych wyjściowych ls
jest niebezpieczne, ponieważ może uszkodzić niektóre funky (spacje \n
, ...), jaki jest najlepszy sposób, aby poznać liczbę plików w katalogu?
Zwykle polegam na find
unikaniu tego analizowania, ale podobnie find mydir | wc -l
zepsuje się z tych samych powodów.
Obecnie pracuję nad systemem Solaris, ale szukam odpowiedzi tak przenośnej dla różnych jednorożców i różnych powłok.
find
dostanie ci rekursywnie liczbę plików (użyj, -maxdepth 1
jeśli tego nie chcesz. find mydir -maxdepth 1 -type f -printf \\n | wc -l
powinien obsługiwać znaki specjalne w nazwie pliku, ponieważ nigdy nie są drukowane w pierwszej kolejności