คำสั่งเพื่อแยกไฟล์ข้อความตามจำนวนบรรทัด


16

สถานการณ์:

ฉันมีไฟล์ข้อความซึ่งมีขนาดประมาณ 1.5GB บรรจุ4000000เส้น

ฉันต้องการนำเข้าข้อมูลนี้Libreoffice calcและคุณรู้ว่าคุณไม่สามารถนำเข้าไฟล์ขนาดใหญ่นี้ที่มีจำนวนบรรทัดมาก (ฉันคิดว่าสูงสุด 65000 บรรทัด)

สิ่งที่ฉันต้องการคือคำสั่งง่ายๆที่สามารถแบ่งไฟล์นี้เป็นไฟล์ขนาดเล็กลงโดยมีจำนวนบรรทัดในแต่ละไฟล์ <65000 บรรทัด


@ Hakermania: เสร็จแล้ว
Tarun

คำตอบ:


19

คุณสามารถใช้splitคำสั่ง:

split -l N /path-to-file

โดยที่Nคือจำนวนบรรทัดสูงสุดที่อาจอยู่ในไฟล์

คำสั่งนี้จะแบ่งไฟล์ออกเป็นไฟล์ที่เล็กกว่าแต่ละไฟล์มีจำนวนบรรทัดNบรรทัด

ใช้man splitสำหรับข้อมูลเพิ่มเติม


3

หากคุณใช้การแยกและสร้างหลายไฟล์ปัญหาต่อไปของคุณจะเป็นวิธีการใช้ Calc เพื่อจัดการข้อมูลทั้งหมดในไฟล์เหล่านั้นทั้งหมด และนั่นคือการซ้อนกันปัญหาหนึ่งต่ออีกปัญหาหนึ่ง ด้วย 65,000 บรรทัดนี่จะเป็นหน้า 62 (!)

คุณใช้เครื่องมือที่ผิด ใช้ Libreoffice Base หรือ MySQL เพื่อนำเข้าข้อมูลจากนั้นใช้ Libreoffice Calc ทำการคำนวณและ / หรือจัดการกับข้อมูลนั้น

เกี่ยวกับข้อ จำกัด นี้ขึ้นอยู่กับ Libreofficeversion ที่คุณใช้:

  • ก่อน 3.3.3: ขีด จำกัด คือ 65 536 แถว
  • 3.3.3 และใหม่กว่า: 1 048 576 แถว (1M)

หากคุณต้องการคุณสามารถบันทึก 4m ด้วย 3.3.3+ กับ 4 หน้า แต่โมดูลฐานของ LibreOffice สามารถนำเข้าได้โดยแทบไม่ จำกัด แถวเลยถ้าไม่เพียงพอ นี่คือบทนำในวิธีการที่จะทำเช่นนี้และที่นี่เป็นฐานข้อมูลเช่นกับไฟล์นำเข้า การจัดการข้อมูลในฐานเป็นเรื่องง่ายและรวดเร็ว

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.