Buscar una cadena de texto dentro de varios archivos en Linux
Recientemente, tuve la necesidad de buscar una cadena de texto dentro de un gran conjunto de archivos en un servidor. Para este fin, echamos mano de 'grep', el cual mostrará todas las coincidencias con la cadena buscada dentro de uno o varios archivos.
La sintaxis del comando es sencilla:
Por ejemplo:
Deseamos buscar la cadena "ServerAlias" en el archivo /etc/httpd/conf/httpd.conf
Como podrán observar, solo se imprime las líneas que coinciden con la cadena buscada.
Ahora, deseamos buscar la misma cadena en todos los directorios bajo /home/angel (recursividad)
Como podrán observar, esta opción nos imprime el nombre del archivo además de las líneas que coinciden con la cadena buscada.
Algo útil, quizá solo nos interese saber los nombres de los archivos que contengan la cadena buscada. Para esto necesitamos la ayuda de 'cut'.
Nos vemos en la siguiente entrada.
Tweet
La sintaxis del comando es sencilla:
$ grep "texto a buscar" archivo_o_directorio
Por ejemplo:
Deseamos buscar la cadena "ServerAlias" en el archivo /etc/httpd/conf/httpd.conf
$ grep "ServerAlias" /etc/httpd/conf/httpd.conf
Como podrán observar, solo se imprime las líneas que coinciden con la cadena buscada.
Ahora, deseamos buscar la misma cadena en todos los directorios bajo /home/angel (recursividad)
$ grep -r "ServerAlias" /home/angel
Como podrán observar, esta opción nos imprime el nombre del archivo además de las líneas que coinciden con la cadena buscada.
Algo útil, quizá solo nos interese saber los nombres de los archivos que contengan la cadena buscada. Para esto necesitamos la ayuda de 'cut'.
$ grep -H -r "ServerAlias" /etc/httpd/conf/ | cut -d: -f1
Nos vemos en la siguiente entrada.
Tweet
Comments
Post a Comment