Як шукати рядки у файлах, як у Windows, без пошукової мавпи?


41

Я використовую Ubuntu у VMWare, але не можу підключитися до Інтернету через обмеження безпеки.

Мені було цікаво, чи існує спосіб пошуку рядків через термінал і знайти, на якій лінії знаходиться рядок у файлі.


1
Ви говорите про grepщось чи просунутіше?
муру

Ви шукали його спочатку.
xxbinxx

Відповіді:


56

Існує майже занадто багато варіантів для переліку

grep -r 'pattern_to_match' directory_to_search

Виведе ім'я файлу та повний рядок, що відповідає шаблону.


18

Найкраще я використовую команду grep з параметрами -ri (рекурсивний і нечутливий пошук до регістру):

$ grep -r <text_pattern_to_search> directory_or_path_to_search

варіанти, які можуть бути корисними для вас:

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

для отримання глибокої інформації ви можете зробити grep --helpабо man grepв терміналі Linux.

Ура


7


Якщо ви хочете знайти лише номер рядка, де жало знаходиться у файлі, скористайтеся цим:

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

Якщо ви хочете знайти номер рядка, а також вивести повне ім'я рядка, де розташована рядок у рядку, скористайтеся цим:

grep -n 'string_To_Find' directory/file_Name

А якщо ви хочете знайти лише повне ім'я рядка там, де є рядок, скористайтеся цим:

grep -r 'string_To_Find' directory/file_Name
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.