Nếu bạn có một tệp văn bản khó sử dụng mà bạn đang cố gắng xử lý, việc chia nhỏ nó trong các phần đôi khi có thể giúp xử lý thời gian, đặc biệt nếu chúng tôi định nhập tệp vào bảng tính. Hoặc bạn có thể chỉ muốn lấy một tập hợp các dòng cụ thể từ một tệp.
Nhập phân chia, wc, đuôi, mèo và grep. (đừng quên là 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 ta hôm nay, chúng ta sẽ sử dụng split và wc.
Trước 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 thegeek ggroup 42046520 2006-09-19 11:42 access.log
Chúng ta thấy rằng kích thước tập tin là 42MB. Thật là lớn … nhưng chúng ta đang xử lý bao nhiêu dòng? Nếu chúng ta muốn nhập nó vào Excel, chúng ta cần giữ nó dưới 65k dòng.
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 "số từ".
> wc -l access.log 146330 access.log
Chúng ta vượt quá giới hạn của mình. Chúng tôi sẽ cần chia thành 3 phân đoạn. Chúng tôi sẽ sử dụng tiện ích chia nhỏ để thực hiện việc này.
> split -l 60000 access.log > ls -l
total 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
Bây giờ chúng tôi đã chia các tệp văn bản của mình 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 để bạn chọn. 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 tin cụ thể này, bạn sẽ làm điều này:
> split -l 73165 access.log
Và, đó là tất cả để có nó.