หากการวิเคราะห์เอาต์พุตls
เป็นอันตรายเพราะสามารถแยกอักขระที่ขี้ขลาด (ช่องว่าง\n
, ... ) ออกได้วิธีที่ดีที่สุดที่จะทราบจำนวนไฟล์ในไดเรกทอรีคืออะไร
ฉันมักจะพึ่งพาfind
เพื่อหลีกเลี่ยงการแยกวิเคราะห์นี้ แต่ในทำนองเดียวกันfind mydir | wc -l
จะทำลายด้วยเหตุผลเดียวกัน
ตอนนี้ฉันกำลังทำงานกับ Solaris อยู่ แต่ฉันกำลังมองหาคำตอบที่พกพาสะดวกในทุกกรณีและเปลือกหอยที่แตกต่างกันมากที่สุด
find
คุณจะได้รับจำนวนไฟล์ซ้ำ (ใช้-maxdepth 1
หากคุณไม่ต้องการให้find mydir -maxdepth 1 -type f -printf \\n | wc -l
จัดการอักขระพิเศษในชื่อไฟล์เนื่องจากไฟล์เหล่านั้นไม่เคยพิมพ์ตั้งแต่แรก