Lệnh unique
Thuộc phần Kiến thức cơ bản trong hành trình Terminal của Coddy. Bài học 33 trên 82.
Lệnh uniq lọc các dòng trùng lặp liên tiếp trong một tệp, chỉ hiển thị các dòng duy nhất.
Chúng ta có tệp duplicates.txt:
apple
banana
apple
cherry
banana
banana
Quan trọng: uniq chỉ loại bỏ các phần tử trùng lặp nằm cạnh nhau. Vì vậy, người ta hầu như luôn dùng sort trước:
sort duplicates.txt | uniqKý hiệu | được gọi là dấu gạch đứng (pipe). Nó gửi đầu ra của một lệnh làm đầu vào cho lệnh khác. Đây là một mẫu rất hữu ích mà bạn sẽ thường dùng trong terminal.
Các cờ hữu ích:
-c: thêm tiền tố vào mỗi dòng bằng số lần dòng đó xuất hiện:
sort duplicates.txt | uniq -c
2 apple
3 banana
1 cherry-d: chỉ hiển thị các dòng bị trùng lặp:
sort duplicates.txt | uniq -d-u: chỉ hiển thị những dòng xuất hiện đúng một lần:
sort duplicates.txt | uniq -uThử thách
Người mớiDùng sort và uniq cùng nhau để chỉ hiển thị các dòng không trùng lặp trong duplicates.txt.
Gợi ý: Trước tiên, bạn cần dùng
sortđể sắp xếp tệp và nhóm các dòng trùng lặp lại với nhau, sau đó chuyển kết quả qua|vàouniqđể loại bỏ chúng.
Tự làm thử
Bài học này có một bài trắc nghiệm ngắn. Bắt đầu bài học để trả lời và theo dõi tiến độ.
Tất cả bài học trong Kiến thức cơ bản
4Thư mục
Tạo thư mụcSao chép thư mụcDi chuyển và đổi tên thư mụcXóa thư mụcÔn tập: thao tác với thư mục7Nội dung tệp
Head và tailĐếm từLệnh sortLệnh uniqueCơ bản về grepGrep với các cờÔn tập: Thám tử văn bản2Điều hướng
In đường dẫn thư mục hiện tạiLiệt kê tệpChuyển thư mụcĐường dẫn tuyệt đối và tương đốiThư mục chính và thư mục gốcÔn tập: tìm đường8Chuyển hướng
Đầu ra chuẩnGhi đè vào tệpGhi thêm vào tệpĐầu vào chuẩnLỗi chuẩnÔn tập: Công cụ tạo nhật ký6Ký tự đại diện và mẫu
Ký tự đại diện dấu saoKý tự đại diện dấu hỏiKý tự đại diện trong ngoặc vuôngKết hợp ký tự đại diệnÔn tập: thao tác có chọn lọc9Đường ống
Đường ống là gìNối hai lệnh bằng đường ốngNối nhiều lệnh bằng đường ốngDùng đường ống với grepÔn tập: luồng xử lý dữ liệuTự luyện tập: Playground Terminal