Chia một nửa tệp văn bản (hoặc bất kỳ tỷ lệ phần trăm nào) trên Ubuntu Linux
Nếu bạn có một tệp văn bản khó sử dụng mà bạn đang cố xử lý, việc chia nó trong các phần đôi khi có thể giúp xử lý thời gian, đặc biệt nếu chúng ta sẽ nhập tệp vào bảng tính. Hoặc bạn có thể muốn lấy một bộ dòng cụ thể từ một tệp.
Nhập tách, wc, đuôi, mèo và grep. (đừng quên sed và awk). Linux chứa một bộ tiện ích phong phú để làm việc với các tệp văn bản trên dòng lệnh. Đối với nhiệm vụ của chúng tôi hôm nay, chúng tôi sẽ sử dụng split và wc.
Đầu tiên chúng ta hãy xem tập tin nhật ký của chúng tôi .
> ls -l
-rw-r-r- 1 nhóm gg 4206520 2006-09-19 11:42 access.log
Chúng tôi thấy rằng kích thước tập tin là 42MB. Đó là một trò chơi lớn nhưng chúng ta đang giải quyết bao nhiêu dòng? Nếu chúng tôi muốn nhập cái này vào Excel, chúng tôi sẽ cần giữ nó dưới 65 nghìn dòng.
Chúng ta hãy kiểm tra số lượng dòng trong tệp bằng tiện ích wc, viết tắt của cụm từ đếm đếm.
> wc -l access.log
146330 truy cập.log
Chúng ta đang vượt quá giới hạn của mình. Chúng ta sẽ cần chia điều này thành 3 phân khúc. Chúng tôi sẽ sử dụng tiện ích phân chia để làm điều này.
> chia -l 60000 access.log
> ls -ltổng 79124
-rw-rw-r- 1 nhóm geek 40465200 2006-09-19 12:00 access.log
-rw-rw-r- 1 nhóm geek 16598163 2006-09-19 12:05 xaa
-rw-rw-r- 1 nhóm geek 16596545 2006-09-19 12:05 xab
-rw-rw-r- 1 nhóm gg 7270492 2006-09-19 12:05 xac
Bây giờ chúng tôi đã chia các tệp văn bản của chúng tôi thành 3 tệp riêng biệt, mỗi tệp chứa ít hơn 60000 dòng, có vẻ như là một số tốt để chọn. Các tập tin cuối cùng chứa số tiền còn lại. Nếu bạn định cắt một nửa tệp cụ thể này, bạn đã thực hiện điều này:
> chia -l 73165 access.log
Và, đó là tất cả để có nó.