Lệnh expand trong Linux

Giới thiệu

Trong lab này, bạn sẽ học cách sử dụng lệnh expand của Linux để chuyển đổi các tab thành khoảng trắng trong các file văn bản. Lab này bao gồm mục đích của lệnh expand, cách sử dụng nó để chuyển đổi các tab thành khoảng trắng trong một file duy nhất và cách áp dụng quy trình tương tự cho nhiều file. Đây là một kỹ năng hữu ích để đảm bảo định dạng nhất quán trong các tài liệu dựa trên văn bản và các file chương trình. Lab này cung cấp các ví dụ thực tế và hướng dẫn từng bước để giúp bạn làm chủ lệnh expand.

Tìm hiểu Mục đích của Lệnh expand

Trong bước này, bạn sẽ tìm hiểu về mục đích của lệnh expand trong Linux. Lệnh expand được sử dụng để chuyển đổi các tab thành khoảng trắng trong một file hoặc đầu vào chuẩn.

Các tab thường được sử dụng trong các file văn bản để thụt lề, nhưng chúng có thể gây ra các vấn đề về định dạng khi file được xem hoặc xử lý trên các hệ thống khác nhau. Lệnh expand giúp chuẩn hóa định dạng bằng cách thay thế các tab bằng số lượng khoảng trắng tương đương.

Hãy bắt đầu bằng cách kiểm tra trợ giúp của lệnh expand:

$ man expand

Kết quả đầu ra cho thấy lệnh expand có cú pháp như sau:

expand [OPTION]... [FILE]...

Các tùy chọn phổ biến nhất là:

  • -t, --tabs=N: Sử dụng các điểm dừng tab tại các vị trí được chỉ định. Mặc định là 8.
  • -i, --initial: Chỉ chuyển đổi các tab ban đầu, không chuyển đổi các tab sau các ký tự khác khoảng trắng.
  • -a, --all: Chuyển đổi tất cả các tab thay vì chỉ các tab ban đầu.

Bây giờ, hãy xem một ví dụ về cách lệnh expand hoạt động:

$ cat example.txt
Hello	World
  This	is a	test file.

Để chuyển đổi các tab thành khoảng trắng, hãy chạy:

$ expand example.txt
Hello    World
  This is a    test file.

Ví dụ đầu ra:

Hello    World
  This is a    test file.

Như bạn có thể thấy, các tab đã được thay thế bằng số lượng khoảng trắng tương đương, làm cho định dạng của file nhất quán hơn.

Chuyển đổi Tab thành Khoảng trắng trong một File Duy nhất

Trong bước này, bạn sẽ học cách sử dụng lệnh expand để chuyển đổi các tab thành khoảng trắng trong một file duy nhất.

Đầu tiên, hãy tạo một file mẫu với các tab:

$ cat > example.txt
Hello	World
  This	is a	test file.

Bây giờ, để chuyển đổi các tab thành khoảng trắng, hãy chạy lệnh expand trên file:

$ expand example.txt
Hello    World
  This is a    test file.

Ví dụ đầu ra:

Hello    World
  This is a    test file.

Như bạn có thể thấy, các tab đã được thay thế bằng số lượng khoảng trắng tương đương.

Theo mặc định, lệnh expand sử dụng 8 khoảng trắng để thay thế mỗi tab. Nếu bạn muốn sử dụng một số lượng khoảng trắng khác, bạn có thể sử dụng tùy chọn -t hoặc --tabs:

$ expand -t4 example.txt
Hello    World
  This is a  test file.

Ví dụ đầu ra:

Hello    World
  This is a  test file.

Trong ví dụ này, chúng ta đã sử dụng -t4 để thay thế mỗi tab bằng 4 khoảng trắng.

Bây giờ, hãy thử lưu file đã mở rộng:

$ expand example.txt -o expanded.txt
$ cat expanded.txt
Hello    World
  This is a    test file.

Tùy chọn -o cho phép bạn chỉ định tên file đầu ra, trong trường hợp này là expanded.txt. File example.txt gốc vẫn không thay đổi.

Chuyển đổi Tab thành Khoảng trắng trong Nhiều File

Trong bước này, bạn sẽ học cách sử dụng lệnh expand để chuyển đổi các tab thành khoảng trắng trong nhiều file.

Đầu tiên, hãy tạo một vài file mẫu với các tab:

$ cat > file1.txt
Hello	World
$ cat > file2.txt
  This	is a	test file.
$ cat > file3.txt
A	B	C

Bây giờ, để chuyển đổi các tab thành khoảng trắng trong cả ba file, bạn có thể chạy lệnh expand với tên các file làm đối số:

$ expand file1.txt file2.txt file3.txt
Hello    World
  This is a    test file.
A    B    C

Ví dụ đầu ra:

Hello    World
  This is a    test file.
A    B    C

Như bạn có thể thấy, các tab đã được thay thế bằng số lượng khoảng trắng tương đương trong cả ba file.

Nếu bạn muốn lưu các file đã mở rộng, bạn có thể sử dụng tùy chọn -o để chỉ định tên file đầu ra:

$ expand file1.txt -o file1_expanded.txt
$ expand file2.txt -o file2_expanded.txt
$ expand file3.txt -o file3_expanded.txt

Bây giờ, bạn có thể kiểm tra nội dung của các file đã mở rộng:

$ cat file1_expanded.txt
Hello    World
$ cat file2_expanded.txt
  This is a    test file.
$ cat file3_expanded.txt
A    B    C

Các file gốc (file1.txt, file2.txt, file3.txt) vẫn không thay đổi và các phiên bản đã mở rộng được lưu dưới dạng file1_expanded.txt, file2_expanded.txtfile3_expanded.txt.

Tóm tắt

Trong lab này, bạn đã học về mục đích của lệnh expand trong Linux, được sử dụng để chuyển đổi các tab thành khoảng trắng trong một file hoặc đầu vào chuẩn. Bạn cũng đã học cách sử dụng lệnh expand để chuyển đổi các tab thành khoảng trắng trong một file duy nhất, cũng như trong nhiều file. Các điểm học tập chính bao gồm hiểu cú pháp và các tùy chọn của lệnh expand, và áp dụng nó để chuẩn hóa định dạng của các file văn bản bằng cách thay thế các tab bằng số lượng khoảng trắng tương đương.

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