Lệnh ‘comm’ trong Linux được sử dụng để so sánh hai tập tin hoặc luồng. Theo mặc định, ‘comm’ sẽ luôn hiển thị ba cột. Cột đầu tiên chỉ ra các mục không khớp của tập tin đầu tiên, cột thứ hai chỉ ra các mục không khớp của tập tin thứ hai và cột thứ ba chỉ ra các mục khớp của cả hai tập tin. Cả hai tập tin phải được sắp xếp để lệnh ‘comm’ có thể được thực thi.
Các tùy chọn của lệnh comm
bao gồm:
-1
: Không hiển thị các dòng không có trong file thứ nhất.-2
: Không hiển thị các dòng không có trong file thứ hai.-3
: Không hiển thị các dòng chung của cả hai file.-i
: Bỏ qua sự khác biệt về chữ hoa/chữ thường trong các dòng.-u
: Chỉ hiển thị các dòng không trùng lặp giữa cả hai file.-z
: Sử dụng ký tự null để phân tách dữ liệu thay vì dùng ký tự xuống dòng.
Ví dụ sử dụng lệnh comm như sau:
Giả sử ta có hai file text “file1.txt” và “file2.txt” như sau:
file1.txt:
apple
banana
grape
orange
peach
file2.txt:
banana
grape
lemon
watermelon
Để so sánh hai file trên, ta sử dụng lệnh comm như sau:
comm file1.txt file2.txt
Kết quả hiển thị sẽ như sau:
apple
peach
lemon
watermelon
banana
grape
orange
Cột đầu tiên chứa các dòng không trùng lặp trong file1.txt, cột thứ hai chứa các dòng không trùng lặp trong file2.txt, và cột thứ ba chứa các dòng trùng lặp trong cả hai file. Các dòng trong từng cột được sắp xếp theo thứ tự bảng chữ cái.