ฉันแน่ใจว่าบางคนมีความต้องการด้านล่างสิ่งที่เป็นวิธีที่รวดเร็วในการแยกไฟล์. gz ขนาดใหญ่ทีละบรรทัด? ไฟล์ข้อความต้นแบบมี 120 ล้านแถว ฉันมีพื้นที่ว่างในดิสก์ไม่เพียงพอที่จะ gunzip ไฟล์ทั้งหมดในครั้งเดียวดังนั้นฉันจึงสงสัยว่ามีบางคนรู้ว่าสคริปต์หรือเครื่องมือทุบตี / perl ที่สามารถแยกไฟล์ได้ . เช่นเรียกมันว่า:
bash splitter.sh hugefile.txt.gz 4000000 1
would get lines 1 to 40 mn
bash splitter.sh hugefile.txt.gz 4000000 2
would get lines 40mn to 80 mn
bash splitter.sh hugefile.txt.gz 4000000 3
would get lines 80mn to 120 mn
อาจจะทำชุดของการแก้ปัญหาเหล่านี้หรือจะ gunzip -c ต้องการพื้นที่เพียงพอสำหรับไฟล์ทั้งหมดที่จะซิป (เช่นปัญหาเดิม): gunzip -c hugefile.txt.gz | หัว 4000000
หมายเหตุ: ฉันไม่สามารถรับดิสก์เสริมได้
ขอบคุณ!