/ / Cách sử dụng lệnh csplit để chia tệp trên Linux

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.


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 
một tệp văn bản đang được tạo trên thiết bị đầu cuối Ubuntu

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ụ.

Một tập tin và nội dung của nó được hiển thị

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 xx00xx01 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.

Trên ubuntu terminal đã dùng lệnh csplit để chia nhỏ file

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 
lệnh csplit đã được sử dụng với cờ -f

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} 
lệnh csplit đã được sử dụng với tùy chọn k

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 
lệnh csplit đang được sử dụng với cờ n

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 
lệnh csplit đang được sử dụng với cờ s

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  
lệnh csplit đang được sử dụng với cờ h

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  
lệnh csplit đang được sử dụng với cờ v

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.

lệnh csplit đang được sử dụng với tùy chọn triệt tiêu phù hợp

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.

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *