Mặc dù lệnh find của Linux thực hiện công việc tuyệt vời để tìm kiếm trên dòng lệnh, nhưng có thể có những trường hợp mà một công cụ chuyên dụng có thể tiện lợi hơn. Một trường hợp như vậy là tìm các dòng trong một tệp bắt đầu bằng một từ cụ thể. Có một lệnh - được gọi là look - thực hiện việc này cho bạn.
Trong hướng dẫn này, chúng ta sẽ thảo luận về lệnh này bằng một số ví dụ dễ hiểu. Nhưng trước khi thực hiện, chúng ta cần lưu ý rằng tất cả các ví dụ trong bài viết đều đã được thử nghiệm trên máy Ubuntu 18.04 LTS.
Và đây là những gì trang hướng dẫn nói về công cụ này:
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 look hoạt động.
Đây là một ví dụ:
Lệnh trên tìm kiếm các dòng bắt đầu bằng 'The' trong tệp 'test.txt'.
Để tham khảo, đây là tệp test.txt:
Và đây là đầu ra được tạo ra:
Để kiểm tra tùy chọn này, tôi đã cập nhật test.txt với một vài dòng nữa. Hãy xem:
Sau đó thực hiện lệnh sau:
look -t n Fund test.txt
Vì vậy, về cơ bản, chúng tôi yêu cầu look tìm kiếm các dòng bắt đầu bằng từ 'Fund' nhưng cũng bao gồm các dòng bắt đầu bằng 'Fun'. Và đây là đầu ra:
look -t n fund test.txt
Sẽ không có đầu ra nào được tạo ra.
Tuy nhiên, bạn có thể buộc look bỏ qua chữ hoa chữ thường bằng cách sử dụng tùy chọn -f.
Đây là một mẫu đầu ra:
Trong hướng dẫn này, chúng ta sẽ thảo luận về lệnh này bằng một số ví dụ dễ hiểu. Nhưng trước khi thực hiện, chúng ta cần lưu ý rằng tất cả các ví dụ trong bài viết đều đã được thử nghiệm trên máy Ubuntu 18.04 LTS.
Lệnh look của Linux
Lệnh look trong Linux hiển thị các dòng bắt đầu bằng một chuỗi nhất định. Sau đây là cú pháp của nó:
Mã:
look [-bdf] [-t termchar] string [file ...]
Mã:
Tiện ích look hiển thị bất kỳ dòng nào trong tệp có chứa chuỗi dưới dạng tiền tố
.
Nếu tệp không được chỉ định, tệp /usr/share/dict/words sẽ được sử dụng, chỉ
các ký tự chữ và số được so sánh và trường hợp của các ký tự chữ cái?
sẽ bị bỏ qua.
Câu hỏi 1. Làm thế nào để sử dụng lệnh look?
Đơn giản, chỉ cần cung cấp từ bạn muốn tìm kiếm và tệp bạn muốn tìm kiếm làm đầu vào cho lệnh look.Đây là một ví dụ:
Mã:
look The test.txt
Để tham khảo, đây là tệp test.txt:
Và đây là đầu ra được tạo ra:
Câu hỏi 2. Làm thế nào để thu hẹp phạm vi tìm kiếm trong chuỗi đã cho?
Lệnh look cũng cho phép bạn thu hẹp phạm vi tìm kiếm bằng cách cho phép bạn cung cấp một ký tự kết thúc. Sau đây là cách trang hướng dẫn giải thích tùy chọn -t:
Mã:
-t, --terminate termchar
Chỉ định một ký tự kết thúc chuỗi, tức là chỉ các ký tự
trong chuỗi lên đến và bao gồm lần xuất hiện đầu tiên của termchar
mới được so sánh.
Sau đó thực hiện lệnh sau:
look -t n Fund test.txt
Vì vậy, về cơ bản, chúng tôi yêu cầu look tìm kiếm các dòng bắt đầu bằng từ 'Fund' nhưng cũng bao gồm các dòng bắt đầu bằng 'Fun'. Và đây là đầu ra:
Câu hỏi 3. Look search có phân biệt chữ hoa chữ thường không?
Có, có. Ví dụ, nếu bạn chạy lệnh sau (giống như lệnh chúng tôi đã sử dụng trong phần Hỏi & Đáp trước, ngoại trừ chữ thường của ký tự đầu tiên trong từ 'fund'):look -t n fund test.txt
Sẽ không có đầu ra nào được tạo ra.
Tuy nhiên, bạn có thể buộc look bỏ qua chữ hoa chữ thường bằng cách sử dụng tùy chọn -f.
Câu hỏi 4. Look còn có thể được sử dụng cho mục đích gì nữa?
Bạn có thể sử dụng lệnh look để tìm kiếm tất cả các từ bắt đầu bằng một tập hợp ký tự. Ví dụ, để xem tất cả các từ bắt đầu bằng chuỗi ký tự 'love', chỉ cần sử dụng lệnh look theo cách sau:
Mã:
look love