โฮมเพจ » ทำอย่างไร » แยกไฟล์ข้อความครึ่ง (หรือเปอร์เซ็นต์ใด ๆ ) บน Ubuntu Linux

    แยกไฟล์ข้อความครึ่ง (หรือเปอร์เซ็นต์ใด ๆ ) บน 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

    และนั่นคือทั้งหมดที่มีให้มัน.