แยกไฟล์ข้อความครึ่ง (หรือเปอร์เซ็นต์ใด ๆ ) บน Ubuntu Linux
หากคุณมีไฟล์ข้อความเทอะทะที่คุณพยายามประมวลผลการแยกไฟล์ในส่วนอาจช่วยให้เวลาในการประมวลผลโดยเฉพาะอย่างยิ่งถ้าเรากำลังจะนำเข้าไฟล์ลงในสเปรดชีต หรือคุณอาจต้องการดึงชุดบรรทัดเฉพาะจากไฟล์.
ป้อน split, wc, tail, cat และ grep (อย่าลืมความรู้สึกและความตกใจ) Linux มีชุดยูทิลิตีที่หลากหลายสำหรับการทำงานกับไฟล์ข้อความบนบรรทัดคำสั่ง สำหรับภารกิจของเราวันนี้เราจะใช้การแบ่งและห้องสุขา.
ก่อนอื่นเรามาดูที่ไฟล์บันทึกของเรา ... .
> ls -l
-rw-r-r- 1 thegeek ggroup 42046520 2006-09-19 11:42 access.log
เราเห็นว่าขนาดไฟล์ 42MB มันใหญ่มาก… แต่เรามีกี่บรรทัด? หากเราต้องการที่จะนำเข้าสิ่งนี้ลงใน Excel เราจะต้องให้มันน้อยกว่า 65k บรรทัด.
ตรวจสอบจำนวนบรรทัดในไฟล์โดยใช้ยูทิลิตี wc ซึ่งหมายถึง“ การนับจำนวนคำ”.
> wc -l access.log
146330 access.log
เราผ่านพ้นขีด จำกัด แล้ว เราจะต้องแบ่งออกเป็น 3 ส่วน เราจะใช้ยูทิลิตี้แยกเพื่อดำเนินการนี้.
> split -l 60000 access.log
> ls -lรวม 79124
-rw-rw-r- 1 thegeek ggroup 40465200 2006-09-19 12:00 access.log
-rw-rw-r- 1 thegeek ggroup 16598163 2006-09-19 12:05 xaa
-rw-rw-r- 1 thegeek ggroup 16596545 2006-09-19 12:05 xab
-rw-rw-r- 1 thegeek ggroup 7270492 2006-09-19 12:05 xac
ตอนนี้เราได้แบ่งไฟล์ข้อความของเราออกเป็น 3 ไฟล์แยกกันแต่ละไฟล์มีน้อยกว่า 60000 บรรทัดซึ่งดูเหมือนว่าจะเป็นจำนวนที่ดีในการเลือก ไฟล์สุดท้ายมีจำนวนเงินที่เหลือ หากคุณกำลังจะตัดไฟล์นี้ไปครึ่งหนึ่งคุณจะต้องทำสิ่งนี้:
> split -l 73165 access.log
และนั่นคือทั้งหมดที่มีให้มัน.