Cách sử dụng lệnh csplit để chia tệp trên Linux
csplit là một tiện ích dòng lệnh phổ biến của Linux được sử dụng để chia nội dung của tệp thành hai. Tệp bạn cần thay đổi phải là tệp văn bản có đuôi “.txt” sự mở rộng.
Lệnh này rất dễ sử dụng và hoạt động tốt trên tất cả các bản phân phối Linux. Với việc sử dụng các cờ khác nhau có sẵn cho csplit, bạn cũng có thể sửa đổi đầu ra theo nhu cầu của mình.
Đây là cách sử dụng csplit để chia nhỏ tệp trên Linux.
Mục Lục
Csplit là gì?
Được sử dụng trên Linux và các hệ điều hành tương tự Unix khác, csplit có thể chia tệp thành các tệp riêng lẻ được xác định bởi các dòng ngữ cảnh.
Cú pháp cơ bản của lệnh là:
csplit [OPTION] [PATTERN]
csplit so với tách
Hầu hết người dùng Linux thích sử dụng lệnh split khi chia tệp thành nhiều tệp nhỏ hơn. Vấn đề với lệnh này là nó dựa vào kích thước byte hoặc kích thước dòng để phân chia các tệp.
Điều này không khả thi trong các tình huống mà bạn muốn chia tệp dựa trên nội dung của chúng, thay vì kích thước của chúng. Đây là lúc csplit ra tay giải cứu vì nó chia tệp thành các phần có kích thước cố định dựa trên nội dung thay vì số byte.
Cách cài đặt csplit trên Linux
csplit được cài đặt sẵn trên hầu hết các bản phân phối Linux. Tuy nhiên, nếu bạn gặp phải lỗi “csplit: command not found”, điều này có nghĩa là công cụ này chưa được cài đặt trên hệ thống của bạn. Để cài đặt csplit trên Ubuntu, hãy thực hiện:
sudo apt-get install coreutils
Trên Arch Linux, hãy chạy:
sudo pacman -S coreutils
Để cài đặt csplit trên Fedora và RHEL:
sudo dnf install coreutils
Cách sử dụng csplit trên Linux
Để xem csplit hoạt động như thế nào, hãy tạo một tệp văn bản trên hệ thống của bạn. Sử dụng lệnh touch để tạo một tệp trống.
touch filename.txt
Khi bạn đã tạo tệp, hãy mở tệp đó bằng trình chỉnh sửa nano để sửa đổi nội dung của tệp.
nano filename.txt
Khi bạn đã thêm một số nội dung vào tệp, nhấn Ctrl + X và sau đó Y để lưu và đóng nó.
Để xác minh nội dung tệp bằng lệnh cat, hãy chạy:
cat filename
Sử dụng lệnh csplit để tách tệp
Để hiểu csplit hoạt động như thế nào, trước tiên hãy xem nội dung của tệp đang được sử dụng ở đây làm ví dụ.
Tệp chứa chín dòng từ số 1 đến số 9. Nếu bạn phải chia tệp thành hai, làm thế nào bạn sẽ cho csplit biết nội dung nào sẽ gửi đến tệp đầu tiên và nội dung nào gửi tệp kia? Điều đó thật dễ dàng. Trong lệnh, bạn chỉ cần cho csplit biết bắt đầu chia từ dòng nào.
Điều này được thực hiện bằng cách chỉ định số dòng. Chẳng hạn, nếu bạn muốn tách tệp từ dòng thứ ba có từ “London”, bạn sẽ đề cập đến 3 trong lệnh. Nhập lệnh như thế này:
csplit filename.txt 3
Lệnh này sẽ ngay lập tức chia tệp thành hai. Sử dụng lệnh ls để liệt kê tất cả nội dung thư mục để xem các tệp đầu ra. Bạn sẽ tìm thấy các tệp mới có tên xx00 và xx01 bên cạnh tệp gốc.
Sử dụng lệnh cat để xác minh nội dung của cả hai tệp.
Như bạn có thể thấy, csplit chia tệp thành hai phần từ dòng thứ ba như được chỉ định trong lệnh.
Tùy chọn lệnh csplit
Dưới đây là một số tùy chọn dòng lệnh csplit mà bạn có thể sử dụng:
1. Thay đổi tiền tố cho tệp đầu ra
Còn được gọi là cờ tiền tố, -f sửa đổi tiền tố trong tên tệp. Bạn có thể nhận thấy khi csplit chia nhỏ tệp, các tệp mới được tạo có xx làm tiền tố trong tên tệp. Bạn có thể thay đổi điều đó bằng cách sử dụng -f cờ trong lệnh.
Ví dụ: nếu bạn muốn tên tệp có abc như một tiền tố thay vì xxra lệnh như thế này:
csplit -f abc filename.txt 3
Có thể thấy, sau khi chia tách, cả hai tệp đều có abc làm tiền tố trong tên.
2. Giữ các tệp khi xảy ra lỗi
Các -k hoặc là –Giữ các tập tin tùy chọn không xóa các tệp đầu ra nếu có lỗi trong lệnh csplit.
Ban hành lệnh bị lỗi sau:
csplit -k randomfile.txt 2 {3}
3. Sửa đổi số chữ số trong tên tệp
Sử dụng tùy chọn này, bạn có thể cho lệnh csplit biết bạn muốn xem bao nhiêu chữ số trong tên tệp theo sau tiền tố. Nó còn được gọi là cờ chữ số.
Ban hành lệnh sau để chỉ giữ lại một chữ số trong tên tệp:
csplit -n 1 randomfile.txt 2
không có -N cờ, theo mặc định, bạn sẽ thấy hai chữ số trong tên tệp.
4. Tách tệp mà không xuất số lượng kích thước
Còn được gọi là cờ im lặng, cờ -S cờ âm thầm phân tách tệp mà không đề cập đến số lượng kích thước của tệp đầu ra.
csplit -s randomfile.txt 3
5. Xem Trợ giúp Dòng lệnh
Để xem chi tiết về tất cả các tùy chọn có sẵn cho csplit, hãy sử dụng -h hoặc –Cứu giúp cờ trong lệnh.
csplit
6. Kiểm tra số phiên bản csplit
Để xem bạn đang sử dụng phiên bản csplit nào, hãy thực hiện lệnh với –phiên bản lá cờ:
csplit
7. Bỏ qua một dòng cụ thể trong khi tách
Bạn cũng có thể sử dụng –suppress-khớp tùy chọn dòng lệnh để bỏ qua một dòng cụ thể khi tách tệp.
csplit --suppress-matched filename.txt 5
Trong khi tạo hai tệp, csplit sẽ bỏ qua dòng thứ năm và tách tệp từ dòng tiếp theo.
Dòng thứ năm trong tệp gốc có từ “Berlin.” Trong tệp đầu ra, “Berlin” đã bị bỏ qua.
Chia nhỏ tệp dễ dàng bằng một lệnh duy nhất trên Linux
Có nhiều tiện ích dòng lệnh có sẵn để quản lý tệp trên hệ thống Linux. Một trong số đó là csplit. Theo mặc định, nó có sẵn trên tất cả các hệ thống Linux. Nếu không, bạn chỉ cần cài đặt nó thông qua dòng lệnh.
csplit là một cách dễ dàng và hiệu quả để chia tệp khi bạn phải chia tệp dựa trên nội dung của nó. csplit đi kèm với các tùy chọn dòng lệnh khác nhau mang đến cho bạn sự linh hoạt để điều chỉnh đầu ra theo cách bạn muốn. Có một số công cụ dòng lệnh để xem nội dung của tệp trên Linux nếu bạn muốn kiểm tra tệp sau khi chia tách.