Jika parsing output ls
berbahaya karena dapat merusak beberapa karakter yang funky (spasi \n
,, ...), apa cara terbaik untuk mengetahui jumlah file dalam direktori?
Saya biasanya mengandalkan find
untuk menghindari parsing ini, tetapi juga, find mydir | wc -l
akan rusak karena alasan yang sama.
Saya sedang mengerjakan Solaris saat ini, tetapi saya sedang mencari jawaban yang portabel seperti di berbagai kesatuan dan kulit yang berbeda.
find
akan memberi Anda jumlah file secara rekursif (gunakan -maxdepth 1
jika Anda tidak menginginkannya. Anda find mydir -maxdepth 1 -type f -printf \\n | wc -l
harus menangani karakter khusus dalam nama file, karena mereka tidak pernah dicetak sejak awal.