Lệnh csplit trong linux với các ví dụ dễ hiểu

Lệnh csplit trong Linux giúp bạn chia một file lớn thành nhiều phần nhỏ hơn dựa trên các mẫu hoặc số dòng chỉ định. Nó rất hữu ích khi bạn muốn tách log file hoặc các file văn bản lớn thành các phần dễ quản lý hơn. Các phần nhỏ này được đặt tên theo tiền tố và số thứ tự, giúp bạn dễ dàng theo dõi và xử lý chúng. Hãy sử dụng csplit để đơn giản hóa công việc quản lý file của bạn!

Lệnh csplit trong linux là gì?

Lệnh command csplit in linux là một công cụ mạnh mẽ giúp bạn chia nhỏ một file thành nhiều phần nhỏ hơn dựa trên các mẫu (patterns) hoặc số dòng cụ thể. Nó rất hữu ích khi bạn cần xử lý các file log lớn hoặc tách dữ liệu theo các tiêu chí nhất định. Thay vì phải thực hiện thủ công, csplit tự động hóa quá trình này, giúp tiết kiệm thời gian và công sức đáng kể. Bạn có thể chỉ định các dòng, biểu thức chính quy hoặc thậm chí là số lần lặp lại để xác định điểm chia file. Kết quả là, bạn sẽ có nhiều file nhỏ hơn, dễ quản lý và xử lý hơn rất nhiều, phục vụ cho các mục đích khác nhau.

Tìm hiểu về lệnh csplit

Trong bước này, bạn sẽ tìm hiểu về lệnh csplit trong Linux, dùng để chia một file thành nhiều phần.

Lệnh csplit chia file dựa trên các mẫu hoặc số dòng được chỉ định trước đó một cách dễ dàng.

csplit tạo ra các file mới từ file gốc, với tên file gồm tiền tố và số thứ tự tăng dần.

Điều này rất hữu ích khi bạn muốn chia các file lớn thành các phần nhỏ hơn, dễ quản lý hơn.

Để dùng csplit, bạn cần cung cấp tên file và các mẫu hoặc số dòng để làm điểm chia.

Ví dụ, để chia file large_file.txt dựa trên dòng chứa từ "START", bạn dùng lệnh sau:

csplit large_file.txt '/START/' '{*}'

Lệnh này sẽ tạo ra các file xx00, xx01, xx02,... chứa nội dung giữa các dòng "START".

Lệnh csplit cũng hỗ trợ nhiều tùy chọn để tùy chỉnh hoạt động của nó, ví dụ như:

  • -f prefix: Chỉ định tiền tố cho tên file đầu ra (mặc định là xx).
  • -n number: Chỉ định số chữ số cho tên file đầu ra (mặc định là 2).
  • -s: Ẩn việc in tên file khi chúng được tạo ra.
  • -k: Giữ lại các file đầu ra, ngay cả khi có lỗi xảy ra.

Hãy thử một vài ví dụ để hiểu rõ hơn về cách lệnh csplit hoạt động nhé.

Ví dụ về đầu ra:

$ csplit large_file.txt '/START/' '{*}'
xx00
xx01
xx02
xx03

Trong ví dụ này, csplit đã chia large_file.txt dựa trên các dòng chứa từ "START".

Các file mới được tạo ra có tên là xx00, xx01, xx02xx03 một cách tuần tự.

Chia một File thành Nhiều Phần bằng csplit

Trong bước này, bạn sẽ học cách dùng lệnh csplit để chia file thành nhiều phần dựa trên mẫu hoặc số dòng chỉ định.

Đầu tiên, hãy tạo một file mẫu để thực hành cùng nhau:

echo "START
This is the first part.
END
START
This is the second part.
END
START
This is the third part.
END" > large_file.txt

Bây giờ, hãy chia file large_file.txt thành nhiều file dựa trên các dòng chứa từ "START":

csplit large_file.txt '/START/' '{*}'

Lệnh này sẽ tạo ra các file sau:

$ ls
large_file.txt  xx00  xx01  xx02

Lệnh csplit đã tạo ba file mới: xx00, xx01xx02, mỗi file chứa nội dung giữa các dòng "START" trong file gốc.

Bạn cũng có thể tùy chỉnh tên file đầu ra bằng tùy chọn -f. Ví dụ, để dùng tiền tố "part" thay vì "xx" mặc định, bạn có thể chạy:

csplit large_file.txt '/START/' -f 'part' '{*}'

Lệnh này sẽ tạo ra các file sau:

$ ls
large_file.txt  part00  part01  part02

Lệnh csplit là một công cụ mạnh mẽ để chia file thành các phần nhỏ hơn, dễ quản lý hơn. Bạn có thể dùng nó để chia file dựa trên mẫu, số dòng hoặc thậm chí các biểu thức tùy chỉnh.

Ví dụ về đầu ra:

$ csplit large_file.txt '/START/' '{*}'
xx00
xx01
xx02

Tùy chỉnh hành vi của csplit với các tùy chọn

Trong bước này, bạn sẽ tìm hiểu cách tùy chỉnh lệnh csplit bằng nhiều tùy chọn khác nhau.

Lệnh csplit hỗ trợ nhiều tùy chọn để bạn kiểm soát tên file đầu ra, ẩn đầu ra và xử lý lỗi.

  1. Chỉ định tiền tố cho file đầu ra
    Bạn có thể dùng tùy chọn -f để đặt tiền tố tùy chỉnh cho tên file đầu ra. Ví dụ, để dùng tiền tố "part" thay vì "xx" mặc định, hãy chạy lệnh:

    csplit large_file.txt '/START/' -f 'part' '{*}'

    Lệnh này sẽ tạo các file có tên part00, part01, part02, v.v.

  2. Chỉ định độ rộng tên file đầu ra
    Mặc định, csplit dùng độ rộng 2 chữ số cho tên file đầu ra (ví dụ: xx00, xx01). Bạn có thể thay đổi điều này bằng tùy chọn -n. Ví dụ, để dùng độ rộng 3 chữ số:

    csplit large_file.txt '/START/' -n 3 '{*}'

    Lệnh này sẽ tạo các file có tên xxx000, xxx001, xxx002, v.v.

  3. Ẩn đầu ra
    Nếu bạn không muốn thấy tên file đầu ra khi chúng được tạo, hãy dùng tùy chọn -s để ẩn đầu ra:

    csplit -s large_file.txt '/START/' '{*}'
  4. Giữ lại file đầu ra khi có lỗi
    Thông thường, csplit sẽ xóa mọi file đầu ra nếu có lỗi xảy ra trong quá trình tách. Để giữ lại file đầu ra ngay cả khi có lỗi, hãy dùng tùy chọn -k:

    csplit -k large_file.txt '/START/' '{*}'

Bạn có thể kết hợp các tùy chọn này để tùy chỉnh lệnh csplit cho phù hợp với nhu cầu cụ thể. Ví dụ, để dùng tiền tố tùy chỉnh, độ rộng 3 chữ số và giữ lại file đầu ra khi có lỗi:

csplit -k -n 3 -f 'part' large_file.txt '/START/' '{*}'

Ví dụ về đầu ra:

$ csplit -f 'part' large_file.txt '/START/' '{*}'
part000
part001
part002

Kết luận cho linux csplit command

Tóm lại, lệnh csplit trong Linux là một công cụ mạnh mẽ để chia nhỏ file dựa trên các mẫu hoặc số dòng cụ thể. Với linux csplit command, bạn có thể dễ dàng tách một file lớn thành nhiều phần nhỏ hơn, giúp việc quản lý và xử lý dữ liệu trở nên đơn giản hơn rất nhiều. Hãy thử nghiệm với các tùy chọn khác nhau của csplit để tìm ra cách phù hợp nhất với nhu cầu của bạn. Đừng ngại khám phá thêm các ví dụ thực tế để hiểu rõ hơn về cách lệnh này hoạt động. Hy vọng bài viết này đã cung cấp cho bạn một cái nhìn tổng quan hữu ích về lệnh csplit. Chúc bạn thành công trong việc sử dụng csplit để giải quyết các bài toán chia file của mình! Hãy nhớ rằng, thực hành là chìa khóa để làm chủ bất kỳ công cụ nào.

Last Updated : 14/10/2025