Làm thế nào để tìm kiếm các tập tin có chứa từ cụ thể?
Làm thế nào để tìm kiếm các tập tin có chứa từ cụ thể?
Câu trả lời:
Với dòng lệnh bạn có một số tùy chọn. 3 thứ tôi sử dụng nhiều nhất là ...
locate {part_of_word}
Điều này giả định rằng cơ sở dữ liệu định vị của bạn được cập nhật nhưng bạn có thể cập nhật thủ công với: sudo updatedb
grepnhư được giải thích bởi dr_willis. Một nhận xét: -Rsau khi grepcũng tìm kiếm trong thư mục. Thí dụ:
cd\
grep -R {something_to_look_for} {where_to_look_in}
find . -name '*{part_of_word}*' -print
Thư .mục bạn đang ở đâu vào lúc này và *là một ký tự đại diện.
Oh và bạn cũng có thể kết hợp những thứ này. Thí dụ:
locate {something}|grep {some_part_of_something}|more
Nếu tôi nhớ lại một cách chính xác: locatelà cái nhanh nhất (giả sử cơ sở dữ liệu của bạn được cập nhật) và findlà cơ sở dữ liệu chậm nhất. Và greplà một trong những phức tạp nhất nhưng cũng linh hoạt nhất trong số này vì bạn có thể sử dụng regexes.
grep -R "cái gì" "ở đâu"
thí dụ:
grep -R hello /home
Lệnh grep thường được sử dụng cho việc này.
tên tập tin grep PATTERN
và grep có thể thực hiện một số tìm kiếm rất phức tạp.
willis@Cow:~$ grep --help
Usage: grep [OPTION]... PATTERN [FILE]...
Search for PATTERN in each FILE or standard input.
PATTERN is, by default, a basic regular expression (BRE).
Example: grep -i 'hello world' menu.h main.c
Bạn có thể sử dụng grepđể liệt kê các tệp có wordtrong tệp đã cho directory:
grep -Ril word directory
Ở đây:
* -Rđệ quy tìm kiếm tập tin trong thư mục con.
* -ibỏ qua trường hợp văn bản
* -lhiển thị tên tệp thay vì các phần nội dung tệp. (lưu ý: -Lhiển thị tên tệp không chứa từ).
sử dụng man grepđể có được tất cả các tùy chọn
-ithực hiện tìm kiếm không phân biệt chữ hoa chữ thường.