GNU/Linux >> Tutoriales Linux >  >> Linux

Una forma rápida de buscar ciertas líneas de código a través de muchos archivos en un proyecto

En Linux/Unix hay una herramienta de línea de comandos llamada grep puede usarlo para buscar varios archivos para una cadena. Por ejemplo, si quisiera buscar strcpy en todos los archivos:

~/sandbox$ grep -rs "strcpy"*
test.c:    strcpy(OSDMenu.name,"OSD MENU");

-r da búsquedas recursivamente para que obtenga todos los archivos en todos los directorios (desde el actual) buscados. -s ignora las advertencias, en caso de que encuentre archivos ilegibles.

Ahora, si desea buscar algo personalizado y no puede recordar las mayúsculas y minúsculas, hay opciones como -i para permitir búsquedas que no distinguen entre mayúsculas y minúsculas.

~/sandbox$ grep -rsi "myint" *
test.c:    int myInt = 5;
test.c:    int MYINT = 10; 

También puede usar expresiones regulares en caso de que haya olvidado exactamente lo que estaba buscando (de hecho, el nombre, 'grep' proviene del comando sed g/re/p -- expresión global/regular/print:

~/sandbox$ grep -rsi "my.*" *
test.c:    int myInt = 5;
test.c:    int MYINT = 10;
test.c:    float myfloat = 10.9;

instale cygwin si no está usando *nix y use find/grep, p.

find . -name '*\.[ch]' | xargs grep -n 'myfuncname'

Puede usar grep para buscar en los archivos usando la terminal/línea de comando.

grep -R "string_to_search" .

-R para ser recursivo, busca también en todos los subdirectorios

Luego la cadena que quieras

Entonces es la ubicación, . para el directorio actual


Linux
  1. ¿Probar la búsqueda recursiva de Sed y reemplazarla antes de ejecutarla?

  2. ¿Cómo buscar archivos por tamaño y extensión?

  3. ¿Cómo buscar en archivos específicos que coincidan con un patrón?

  4. Utilice Buscar y localizar para buscar archivos en Linux

  5. ¿Cómo puedo buscar un patrón de varias líneas en un archivo?

Cómo realizar una búsqueda de patrones en archivos usando Grep

Cloc:cuente las líneas del código fuente en muchos lenguajes de programación

Busque rápidamente archivos en Linux con el comando de localización

Cómo realizar una búsqueda Grep en todos los archivos y en todos los directorios

¿Cómo busca archivos que contienen finales de línea de DOS (CRLF) con grep en Linux?

Búsqueda de una cadena en varios archivos en Linux