Cargando

Ir a contenido


Cómo encontrar archivos con un texto específico en Linux



2 Respuestas de expertos

#1   Lucas Carrero

  •   Reputación:42
  •   Respuestas:95
  •   Tutoriales:19

Publicado 20 marzo 2017 - 21:53

Buenas, estoy con un servidor de Linux, donde me he dado cuenta que necesito encontrar unos archivos que tienen un texto específico dentro en un directorio que tiene cientos de archivos.

¿Podéis echarme una mano? Sería para encontrar estos archivos de forma rápida por comandos sin tener que perder horas entrando en cada uno de ellos. Espero haberlo dicho lo más claro posible.

 

Gracias.


  • 2 personas más tuvieron esta duda Yo también
  • Volver arriba

#2   Alex Pereiro

  •   Reputación:34
  •   Respuestas:61
  •   Tutoriales:1

Publicado 21 marzo 2017 - 11:41

A ver te cuento. Eso sería con el comando GREP en sistemas Linux. Lo uso muy a menudo ese tema. (Cambia la ruta de ejemplo que pongo /var/log por la que tu quieras).

 

Aquí te dejo del comando Grep algunas opciones que se suelen utilizar (sale en el comando grepp --help):

 

-r, --recursive     Search files recursively
-R, --dereference-recursive Search files recursively and follow 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.
-L, --files-without-match     Print file names containing no match
-l, --files-with-matches     Print string containing file names only
-i, --ignore-case     ignore case of search string
-e, --regexp=PATTERN     Use patter to search or specify multiple search strings
-w, --word-regexp     force to match whole words 

 

 

 

1. Buscar una palabra (string) en archivos dentro de carpeta y subcarpetas

 

grep -rlw "palabraAbuscar" /var/log

 

 

 

2. Buscar varias palabras (string) en archivos dentro de carpeta y subcarpetas

 

Con este comando lo que haces es añadir la opción -e que te sirve para poner múltiples strings (palabras a buscar) en archivos que se encuentran en la carpeta que pones y también incluye subdirectorios.

 

grep -rlw -e "palabraAbuscar" -e "palabra2Abuscar" /var/log

 

 

 

3. Buscar palabras en archivos concretos

 

Esto es muy útil si quieres buscar una palabra o string en un formato de archivos concreto. Por ejemplo aquí he usado los .doc. Ten encuenta que incluye la carpeta que pongas y también sus subdirectorios.

 

grep -rlw --include="*.doc" -e "palabraAbuscar" /var/log

 

 

 

Espero que te sirvan!



#3   Luis Miranda

  •   Reputación:35
  •   Respuestas:60
  •   Tutoriales:1
2 0 1

Publicado 21 marzo 2017 - 11:45

Yo dejo estas opciones de comando Grep por si quieres excluir archivos o carpetas de que busque dentro de ellos esas palabras que digas... Serían:

 

Cómo excluir archivos de la búsqueda que realizas con comando GREP

grep -rlw --exclude="*.txt" -e "palabra" carpeta

 

Cómo excluir directorios de la búsqueda que realizas con comando GREP

grep -rlw --exclude-dir="*directiorio*" -e "palabra" carpeta.




No esperes más y entra en Solvetic
Deja tus soluciones y aprovecha las ventajas de la cuenta de usuario ¡Únete!

Preguntas Similares

  Preguntas Iniciado Por Estadísticas Último Mensaje

x

¿Tienes otra pregunta? Aquí puedes encontrar más soluciones!

No esperes más y entra en Solvetic! Solo te esperan ventajas ¡Únete!

Suscribirse