Làm thế nào để tìm kiếm các tập tin có chứa từ cụ thể?


37

Làm thế nào để tìm kiếm các tập tin có chứa từ cụ thể?


5
Bạn có thực sự có nghĩa là tập tin tìm kiếm TÊN chứa một từ cụ thể trong đó không? tức là: tất cả các tệp có thuật ngữ FUN trong tên của chúng, FUN_time.txt FUN_ ware.txt Hoặc tìm kiếm TRONG một tệp cho các từ cụ thể?
dr_willis

Câu trả lời:


51

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à ...

  1. 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

  2. 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}
    
  3. 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.



4

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

3
hoặc bạn có thể làm "từ rgrep." để tìm kiếm đệ quy mọi tệp và thư mục con cho "từ"
Jeremy Bícha

4

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


3
Chỉ để bạn biết: -ithực hiện tìm kiếm không phân biệt chữ hoa chữ thường.
David Foerster
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.