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