Lệnh split trong Linux

Giới thiệu

Trong lab này, bạn sẽ học cách sử dụng lệnh split của Linux để chia một file lớn thành các phần nhỏ hơn, dễ quản lý hơn. Lệnh split là một công cụ mạnh mẽ cho phép bạn chia file dựa trên kích thước, số dòng hoặc các tiêu chí khác, làm cho nó hữu ích khi làm việc với các file nhật ký lớn, bản sao lưu cơ sở dữ liệu hoặc các loại dữ liệu khác cần được xử lý hoặc truyền đi theo các phần nhỏ hơn. Bạn sẽ bắt đầu bằng cách hiểu mục đích của lệnh split, sau đó học cách tùy chỉnh các tùy chọn lệnh để chia một file thành nhiều phần. Lab này cung cấp các ví dụ thực tế để giúp bạn thành thạo trong việc sử dụng lệnh split cho các nhu cầu xử lý và chỉnh sửa văn bản của bạn.

Hiểu Mục Đích của Lệnh split

Trong bước này, bạn sẽ tìm hiểu về mục đích và cách sử dụng lệnh split trong Linux. Lệnh split là một công cụ mạnh mẽ cho phép bạn chia một file lớn thành các phần nhỏ hơn, dễ quản lý hơn.

Trường hợp sử dụng chính của lệnh split là chia các file lớn thành các phần nhỏ hơn, điều này có thể hữu ích khi làm việc với các file quá lớn để xử lý hoặc truyền dễ dàng. Điều này đặc biệt hữu ích khi làm việc với các file nhật ký lớn, bản sao lưu cơ sở dữ liệu hoặc các loại dữ liệu khác cần được xử lý hoặc truyền đi theo các phần nhỏ hơn.

Để bắt đầu, hãy tạo một file lớn mà chúng ta có thể sử dụng cho các ví dụ của mình:

head -n 10000 /dev/urandom > large_file.txt

Lệnh này sẽ tạo một file có tên large_file.txt với 10.000 dòng dữ liệu ngẫu nhiên.

Bây giờ, hãy sử dụng lệnh split để chia file này thành các phần nhỏ hơn:

split -b 1m large_file.txt split_

Lệnh này sẽ chia file large_file.txt thành nhiều file, mỗi file có kích thước tối đa là 1 megabyte (1m), và thêm tiền tố "split_" vào tên file.

Ví dụ đầu ra:

split_aa
split_ab
split_ac
split_ad

Trong bước tiếp theo, bạn sẽ học cách tùy chỉnh các tùy chọn lệnh split để kiểm soát thêm quy trình chia file.

Chia một File Thành Nhiều Phần

Trong bước này, bạn sẽ học cách sử dụng lệnh split để chia một file thành nhiều phần.

Hãy tiếp tục sử dụng file large_file.txt mà chúng ta đã tạo ở bước trước. Chúng ta có thể chia file này thành các phần nhỏ hơn bằng cách sử dụng lệnh split với các tùy chọn khác nhau:

## Chia file thành 5 phần có kích thước bằng nhau
split -n 5 large_file.txt split_part_

## Chia file thành các phần có kích thước tối đa là 500 KB
split -b 500k large_file.txt split_part_

## Chia file thành các phần dựa trên dòng
split -l 1000 large_file.txt split_part_

Ví dụ đầu ra:

split_part_aa
split_part_ab
split_part_ac
split_part_ad
split_part_ae

Lệnh đầu tiên chia file thành 5 phần có kích thước bằng nhau, lệnh thứ hai chia file thành các phần có kích thước tối đa là 500 KB và lệnh thứ ba chia file thành các phần với tối đa 1.000 dòng trên mỗi file.

Bạn có thể sử dụng lệnh ls để xác minh rằng các file đã được tạo:

ls -l split_*

Ví dụ đầu ra:

-rw-r--r-- 1 labex labex 2000000 Apr 12 12:34 split_part_aa
-rw-r--r-- 1 labex labex 2000000 Apr 12 12:34 split_part_ab
-rw-r--r-- 1 labex labex 2000000 Apr 12 12:34 split_part_ac
-rw-r--r-- 1 labex labex 2000000 Apr 12 12:34 split_part_ad
-rw-r--r-- 1 labex labex 2000000 Apr 12 12:34 split_part_ae

Trong bước tiếp theo, bạn sẽ học cách tùy chỉnh các tùy chọn lệnh split hơn nữa.

Tùy Chỉnh Các Tùy Chọn Lệnh Split

Trong bước cuối cùng này, bạn sẽ học cách tùy chỉnh các tùy chọn lệnh split để phù hợp hơn với nhu cầu của bạn.

Lệnh split cung cấp một số tùy chọn cho phép bạn kiểm soát quy trình chia file. Dưới đây là một vài ví dụ:

## Chia file thành các phần với tiền tố "custom_"
split -d -a 2 -b 1m large_file.txt custom_

## Chia file thành các phần với tiền tố "custom_" và hậu tố ".txt"
split -d -a 2 -b 1m -d large_file.txt custom_.txt

## Chia file thành các phần với hậu tố tùy chỉnh
split -d -a 2 -b 1m large_file.txt part_

## Chia file thành các phần dựa trên một mẫu cụ thể
split -d -a 2 -l 1000 large_file.txt pattern_

Hãy xem qua các ví dụ này:

  • Tùy chọn -d yêu cầu split sử dụng hậu tố số thay vì hậu tố chữ cái.
  • Tùy chọn -a 2 đặt độ dài của hậu tố thành 2 ký tự.
  • Tùy chọn -b 1m đặt kích thước tối đa của mỗi file đầu ra thành 1 megabyte.
  • Tùy chọn -d trong ví dụ thứ hai yêu cầu split sử dụng hậu tố số và thêm phần mở rộng .txt vào các file đầu ra.
  • Tiền tố part_ trong ví dụ thứ ba tạo ra các file đầu ra có tên part_00, part_01, v.v.
  • Tiền tố pattern_ trong ví dụ thứ tư tạo ra các file đầu ra có tên pattern_00, pattern_01, v.v.

Bạn có thể thử nghiệm với các tùy chọn này để tìm ra cách tốt nhất để chia các file của bạn dựa trên các nhu cầu cụ thể của bạn.

Tóm tắt

Trong lab này, bạn đã tìm hiểu về mục đích và cách sử dụng lệnh split trong Linux. Lệnh split là một công cụ mạnh mẽ cho phép bạn chia một file lớn thành các phần nhỏ hơn, dễ quản lý hơn, điều này có thể đặc biệt hữu ích khi làm việc với các file nhật ký lớn, bản sao lưu cơ sở dữ liệu hoặc các loại dữ liệu khác cần được xử lý hoặc truyền đi theo các phần nhỏ hơn. Sau đó, bạn đã học cách sử dụng lệnh split với các tùy chọn khác nhau để chia một file thành nhiều phần, bao gồm chia file thành một số lượng phần có kích thước bằng nhau được chỉ định, chia file thành các phần có kích thước tối đa và chia file dựa trên phương pháp tiếp cận dựa trên dòng.

400+ câu lệnh phổ biến trong Linux