Làm cách nào để tìm kiếm chuỗi bên trong các tệp như trong Windows mà không cần tìm khỉ?


41

Tôi đang sử dụng Ubuntu trên VMWare nhưng tôi không thể kết nối với internet vì hạn chế bảo mật.

Tôi đã tự hỏi nếu có một cách để tìm kiếm các chuỗi thông qua thiết bị đầu cuối và tìm ra chuỗi nào nằm trong tập tin.


1
Bạn đang nói về grephoặc một cái gì đó cao cấp hơn?
muru

Bạn đã tìm kiếm nó đầu tiên.
xxbinxx

Câu trả lời:


56

Gần như có quá nhiều lựa chọn để liệt kê

grep -r 'pattern_to_match' directory_to_search

Sẽ xuất tên tệp và dòng đầy đủ khớp với mẫu.


18

Cách tốt nhất tôi sử dụng là lệnh grep với tùy chọn -ri (Tìm kiếm đệ quy và phân biệt chữ hoa chữ thường):

$ grep -r <text_pattern_to_search> directory_or_path_to_search

các tùy chọn có thể hữu ích cho bạn:

    -i - case insensitive
    -r, --recursive  like --directories=recurse
    -R, --dereference-recursive  likewise, but follow all symlinks
      --include=FILE_PATTERN  search only files that match FILE_PATTERN
      --exclude=FILE_PATTERN  skip files and directories matching FILE_PATTERN
      --exclude-from=FILE   skip files matching any file pattern from FILE
      --exclude-dir=PATTERN  directories that match PATTERN will be skipped.

để biết thông tin sâu bạn có thể làm grep --helphoặc man greptrong thiết bị đầu cuối linux.

Chúc mừng


7


Nếu bạn muốn tìm chỉ số dòng nơi sting nằm trong tệp, hãy sử dụng:

grep -n '/string_To_Find/=' directory/file_Name

Nếu bạn muốn tìm số dòng và cũng xuất ra tên dòng đầy đủ nơi chuỗi nằm trong dòng sử dụng:

grep -n 'string_To_Find' directory/file_Name

Và nếu bạn chỉ muốn tìm tên dòng đầy đủ nơi có chuỗi, hãy sử dụng:

grep -r 'string_To_Find' directory/file_Name
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.