17
วิธีค้นหาบรรทัดที่มีอักขระน้อยที่สุด
ฉันกำลังเขียนเชลล์สคริปต์โดยใช้คำสั่ง UNIX ทั่วไป ฉันต้องดึงสายที่มีตัวอักษรน้อยที่สุด (รวมช่องว่าง) สามารถมีได้สูงสุดประมาณ 20 บรรทัด ฉันรู้ว่าฉันสามารถใช้head -$L | tail -1 | wc -mเพื่อค้นหาจำนวนตัวอักษรของบรรทัด L ปัญหาคือวิธีเดียวที่ฉันสามารถคิดได้โดยใช้สิ่งนั้นคือการเขียนคำสั่งที่ยุ่งเหยิงหากเปรียบเทียบกับค่าต่างๆ ข้อมูลตัวอย่าง: seven/7 4for 8 eight? five! จะกลับมา4forเนื่องจากบรรทัดนั้นมีอักขระน้อยที่สุด ในกรณีของฉันหากหลายบรรทัดมีความยาวสั้นที่สุดควรจะคืนค่าหนึ่งบรรทัด ไม่สำคัญว่าจะเลือกรายการใดตราบใดที่มีความยาวต่ำสุด แต่ฉันไม่เห็นอันตรายในการแสดงทั้งสองวิธีสำหรับผู้ใช้รายอื่นที่มีสถานการณ์อื่น