¿Cómo buscar cadenas dentro de archivos como en Windows sin search monkey?

41

Estoy usando Ubuntu en VMWare pero no puedo conectarme a Internet debido a restricciones de seguridad.

Me preguntaba si había una manera de buscar cadenas a través del terminal y encontrar en qué línea se encuentra la cadena dentro del archivo.

usuario138056
fuente
1
¿Estás hablando de grepalgo más avanzado?
muru
¿Lo has buscado primero?
xxbinxx

Respuestas:

56

Hay casi demasiadas opciones para enumerar

grep -r 'pattern_to_match' directory_to_search

Producirá el nombre del archivo y la línea completa que coincida con el patrón.

Pantera
fuente
18

Lo mejor que uso es el comando grep con las opciones -ri (búsqueda recursiva y sin distinción entre mayúsculas y minúsculas):

$ grep -r <text_pattern_to_search> directory_or_path_to_search

opciones que pueden serle útiles:

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

para obtener información profunda que puede hacer grep --helpo man grepen la terminal de Linux.

Aclamaciones

xxbinxx
fuente
7


Si desea encontrar solo el número de línea donde se encuentra la picadura dentro del archivo, use esto:

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

Si desea encontrar el número de línea y también generar el nombre completo de la línea donde se encuentra la cadena en la línea, use esto:

grep -n 'string_To_Find' directory/file_Name

Y si solo desea encontrar el nombre completo de la línea donde está la cadena, use esto:

grep -r 'string_To_Find' directory/file_Name
αғsнιη
fuente