Hướng dẫn lệnh Linux column cho người mới bắt đầu (có ví dụ)

theanh

Administrator
Nhân viên
Đôi khi, khi làm việc trên dòng lệnh trong Linux, bạn có thể muốn hiển thị nội dung của tệp theo định dạng cột. Bạn sẽ vui mừng khi biết rằng có một tiện ích dòng lệnh trong Linux cho phép bạn thực hiện việc này. Tên của công cụ là column và chúng ta sẽ thảo luận về những điều cơ bản của lệnh này bằng một số ví dụ dễ hiểu.

Nhưng trước khi thực hiện, cần lưu ý rằng tất cả các ví dụ ở đây đều đã được thử nghiệm trên máy Ubuntu 18.04 LTS.

Lệnh cột trong Linux​

Lệnh cột trong Linux cho phép bạn tạo danh sách theo cột. Sau đây là cú pháp của nó:
Mã:
column [-entx] [-c columns] [-s sep] [file ...]
Và đây là cách trang hướng dẫn của công cụ định nghĩa nó:
Mã:
Tiện ích cột định dạng đầu vào của nó thành nhiều cột. Các hàng được điền trước các cột. Đầu vào được lấy từ các toán hạng tệp hoặc theo mặc định là từ đầu vào chuẩn.
Sau đây là một số ví dụ theo kiểu Hỏi & Đáp sẽ giúp bạn hiểu rõ hơn về cách lệnh cột hoạt động.

Câu hỏi 1. Làm thế nào để sử dụng lệnh cột?​

Cách sử dụng cơ bản khá dễ. Giả sử bạn có tệp có tên 'test.txt' chứa thông tin sau:
Mã:
1
2
3
4
5
6
7
8
9
10
Bây giờ, để phân cột nội dung của tệp này, hãy sử dụng lệnh column theo cách sau:
Mã:
column test.txt
Và bạn sẽ nhận được đầu ra như thế này:
Mã:
1 2 3 4 5 6 7 8 9 10

Câu 2. Làm thế nào để phân cột một đầu ra được phân định?​

Giả sử một tệp chứa các nội dung sau:
Mã:
Không.|Quốc gia|Có/Không
01|Ấn Độ|Y
02|Hoa Kỳ|Y
03|Úc|Y
04|Trung Quốc|N
05|Nga|Y
06|Nhật Bản|Y
07|Singapore|Y
08|Hàn Quốc|N
09|Phần Lan|Y
10|Ireland|Y
Bây giờ, hãy chạy lệnh cột theo cách sau:
Mã:
column test.txt -t -s "|"
Và đây là đầu ra được tạo ra:
Mã:
Không. Quốc gia Có/Không
01 Ấn Độ Y
02 Hoa Kỳ Y
03 Úc Y
04 Trung Quốc N
05 Nga Y
06 Nhật Bản Y
07 Singapore Y
08 Hàn Quốc N
09 Finaland Y
10 Ireland Y
Để bạn biết, đây là cách trang hướng dẫn lệnh cột giải thích các tùy chọn dòng lệnh -t và -s:
Mã:
-s Chỉ định một tập hợp các ký tự được sử dụng để phân định các cột cho tùy chọn 
 -t.

-t Xác định số cột mà đầu vào chứa và tạo một
 bảng. Theo mặc định, các cột được phân định bằng khoảng trắng hoặc
 bằng các ký tự được cung cấp bằng tùy chọn -s. Hữu ích cho
 màn hình in đẹp.

Q3. Còn những trường hợp có nhiều dấu phân cách thì sao?​

Trong ví dụ trước, bạn đã thấy nội dung gốc chứa dấu gạch ngang '|' làm dấu phân cách. Vì vậy, lệnh cột đã sử dụng dấu phân cách này để tạo đầu ra định dạng cột. Nhưng nếu có hai dấu gạch ngang trong một số mục thì sao. Ví dụ, hãy xem dòng đầu tiên ở đây:
Mã:
Không.||Quốc gia||Có/Không
01|Ấn Độ|Y
02|Hoa Kỳ|Y
03|Úc|Y
04|Trung Quốc|N
05|Nga|Y
06|Nhật Bản|Y
07|Singpaore|Y
08|Hàn Quốc|N
09|Phần Lan|Y
10|Ireland|Y
Theo mặc định, lệnh cột sẽ hợp nhất nhiều dấu phân cách liền kề thành một dấu phân cách duy nhất. Tuy nhiên, nếu muốn, bạn có thể sử dụng tùy chọn dòng lệnh -n để tắt hành vi đó. Vì vậy, trong trường hợp đó, lệnh cột sẽ trở thành:
Mã:
column -n test.txt -t -s "|"

Câu hỏi 4. Lệnh cột xử lý các dòng trống như thế nào?​

Theo mặc định, lệnh cột sẽ bỏ qua các dòng trống. Tuy nhiên, nếu muốn, bạn có thể ngăn chặn hành vi này bằng cách sử dụng tùy chọn dòng lệnh -e.

Ví dụ, dòng nội dung tệp này:
Mã:
Không.|Quốc gia|Có/Không
01|Ấn Độ|Y
02|Hoa Kỳ|Y
03|Úc|Y

04|Trung Quốc|N
05|Nga|Y
06|Nhật Bản|Y

07|Singapore|Y
08|Hàn Quốc|N
09|Phần Lan|Y
10|Ireland|Y
Sẽ hiển thị như sau:
Mã:
Không. Quốc gia Có/Không
01 Ấn Độ Y
02 Hoa Kỳ Y
03 Úc Y

04 Trung Quốc N
05 Nga Y
06 Nhật Bản Y

07 Singapore Y
08 Hàn Quốc N
09 Phần Lan Y
10 Ireland Y
sử dụng lệnh sau:
Mã:
column -e test.txt -t -s "|"

Kết luận​

Tùy thuộc vào loại công việc bạn làm trên dòng lệnh Linux, lệnh column có thể giúp ích rất nhiều cho bạn. Trong hướng dẫn này, chúng tôi đã thảo luận về phần lớn các tùy chọn mà công cụ cung cấp. Để biết thêm thông tin, hãy truy cập trang hướng dẫn của công cụ này.
 
Back
Bên trên