คำสั่ง Linux shell เพื่อกรองไฟล์ข้อความตามความยาวบรรทัด
ฉันมีดิสก์อิมเมจ 30gb ของพาร์ติชัน borked (คิดว่าdd if=/dev/sda1 of=diskimage) ที่ฉันต้องการกู้คืนไฟล์ข้อความบางไฟล์ ข้อมูลการแกะสลักเครื่องมือเช่นการทำงานเฉพาะในไฟล์ที่มีส่วนหัวที่กำหนดไว้อย่างดีเช่นไม่ไฟล์ข้อความธรรมดาดังนั้นฉันได้กลับลดลงในเพื่อนที่ดีของฉันforemoststrings strings diskimage > diskstrings.txt ผลิตไฟล์ข้อความ 3gb ที่มีสตริงจำนวนมากซึ่งส่วนใหญ่เป็นสิ่งที่ไร้ประโยชน์ผสมกับข้อความที่ฉันต้องการจริง ๆ เรือลาดตระเวนส่วนใหญ่มีแนวโน้มที่จะยาวและไม่มีเรี่ยวแรงมากนัก สิ่งที่ฉันสนใจรับประกันได้ว่าจะน้อยกว่า 16kb ดังนั้นฉันจะกรองไฟล์ตามความยาวบรรทัด นี่คือสคริปต์ Python ที่ฉันใช้: infile = open ("infile.txt" ,"r"); outfile = open ("outfile.txt","w"); for line in infile: if len(line) < 16384: outfile.write(line) infile.close() outfile.close() งานนี้ แต่สำหรับการอ้างอิงในอนาคตจะมีผู้ใดมนต์ขลังหนึ่งบรรทัด (คิดว่าawk, sed) ที่จะกรองไฟล์โดยความยาวสายหรือไม่?