Giới thiệu
Trong lab này, bạn sẽ học cách sử dụng lệnh comm
của Linux để so sánh và đối chiếu hai file văn bản đã được sắp xếp. Lệnh comm
là một công cụ mạnh mẽ cho phép bạn xác định các dòng duy nhất và các dòng chung giữa hai file. Bạn sẽ bắt đầu bằng cách hiểu mục đích và cú pháp của lệnh comm
, sau đó khám phá cách tùy chỉnh đầu ra của nó bằng cách sử dụng các tùy chọn khác nhau. Lab này bao gồm các ví dụ thực tế và các trường hợp sử dụng cho lệnh comm
, biến nó thành một kỹ năng có giá trị cho các tác vụ xử lý và chỉnh sửa văn bản trong môi trường Linux.
Tìm hiểu Mục đích và Cú pháp của Lệnh comm
Trong bước này, bạn sẽ tìm hiểu về mục đích và cú pháp của lệnh comm
trong Linux. Lệnh comm
là một công cụ mạnh mẽ được sử dụng để so sánh và đối chiếu hai file đã được sắp xếp, theo từng dòng.
Cú pháp cơ bản của lệnh comm
là:
comm [options] file1 file2
Ở đây, file1
và file2
là hai file đã được sắp xếp mà bạn muốn so sánh.
Lệnh comm
xuất ra ba cột:
- Các dòng chỉ có trong
file1
- Các dòng chỉ có trong
file2
- Các dòng chung cho cả
file1
vàfile2
Theo mặc định, cả ba cột đều được hiển thị. Bạn có thể sử dụng các tùy chọn khác nhau để tùy chỉnh đầu ra.
Ví dụ đầu ra:
$ comm file1.txt file2.txt
apple
banana
cherry
date
fig
Trong ví dụ này, các dòng "apple", "cherry", và "fig" là duy nhất cho file1.txt
, dòng "banana" là duy nhất cho file2.txt
, và dòng "date" là chung cho cả hai file.
So sánh và Đối chiếu Hai File Đã Sắp Xếp Sử dụng Lệnh comm
Trong bước này, bạn sẽ học cách sử dụng lệnh comm
để so sánh và đối chiếu hai file đã được sắp xếp.
Đầu tiên, hãy tạo hai file văn bản mẫu, file1.txt
và file2.txt
, với một số nội dung:
$ cat > file1.txt
apple
banana
cherry
date
fig
$ cat > file2.txt
banana
cherry
date
grape
Bây giờ, hãy sử dụng lệnh comm
để so sánh hai file:
$ comm file1.txt file2.txt
apple
banana
cherry
date
fig
grape
Đầu ra hiển thị:
- Các dòng chỉ có trong
file1.txt
(có tiền tố là một tab) - Các dòng chỉ có trong
file2.txt
(có tiền tố là một tab) - Các dòng chung cho cả hai file (không có tiền tố)
Bạn cũng có thể sử dụng các tùy chọn khác nhau để tùy chỉnh đầu ra:
comm -1 file1.txt file2.txt
: Ẩn cột các dòng chỉ có trongfile1.txt
comm -2 file1.txt file2.txt
: Ẩn cột các dòng chỉ có trongfile2.txt
comm -3 file1.txt file2.txt
: Ẩn cột các dòng chung cho cả hai file
Ví dụ:
$ comm -1 -2 file1.txt file2.txt
date
$ comm -1 -3 file1.txt file2.txt
apple
fig
$ comm -2 -3 file1.txt file2.txt
banana
cherry
grape
Tùy chỉnh Đầu ra của Lệnh comm với Các Tùy chọn
Trong bước này, bạn sẽ học cách tùy chỉnh đầu ra của lệnh comm
bằng cách sử dụng các tùy chọn khác nhau.
Đầu tiên, hãy tạo thêm hai file văn bản mẫu, file3.txt
và file4.txt
:
$ cat > file3.txt
apple
banana
cherry
date
fig
$ cat > file4.txt
banana
cherry
date
grape
kiwi
Bây giờ, hãy khám phá một số tùy chọn có sẵn với lệnh comm
:
-
Ẩn các cột:
comm -1 file3.txt file4.txt
: Ẩn cột các dòng chỉ có trongfile3.txt
comm -2 file3.txt file4.txt
: Ẩn cột các dòng chỉ có trongfile4.txt
comm -3 file3.txt file4.txt
: Ẩn cột các dòng chung cho cả hai file
-
Ẩn tất cả các tiêu đề cột:
comm -1 -2 -3 file3.txt file4.txt
: Ẩn tất cả các tiêu đề cột
-
Ẩn các dấu phân cách trống:
comm -w file3.txt file4.txt
: Ẩn các dấu phân cách khoảng trắng giữa các cột
-
Ẩn số dòng:
comm --nocheck-order file3.txt file4.txt
: Ẩn số dòng (giả định rằng các file đã được sắp xếp)
Ví dụ đầu ra:
$ comm -1 file3.txt file4.txt
banana
cherry
date
grape
kiwi
$ comm -1 -2 -3 file3.txt file4.txt
banana
cherry
date
grape
kiwi
$ comm -w file3.txt file4.txt
applebananacherrydate figbananacherrydate grape kiwi
$ comm --nocheck-order file3.txt file4.txt
apple
banana
cherry
date
fig
banana
cherry
date
grape
kiwi
Tóm tắt
Trong lab này, bạn đã học về mục đích và cú pháp của lệnh comm
trong Linux, được sử dụng để so sánh và đối chiếu hai file đã được sắp xếp, theo từng dòng. Bạn đã khám phá cách sử dụng lệnh comm
để xác định các dòng chỉ có trong mỗi file, cũng như các dòng chung cho cả hai file. Ngoài ra, bạn đã học cách tùy chỉnh đầu ra của lệnh comm
bằng cách sử dụng các tùy chọn khác nhau, chẳng hạn như ẩn các cột đầu ra cụ thể.
Bạn cũng đã thực hành sử dụng lệnh comm
để so sánh và đối chiếu hai file văn bản mẫu, file1.txt
và file2.txt
, và quan sát các định dạng đầu ra khác nhau dựa trên các tùy chọn đã sử dụng.