Buscar texto dentro de los archivos de un directorio
Buscar texto dentro de los archivos de un directorio

Buscar texto dentro de los archivos de un directorio

Hace un tiempo estaba haciendo modificaciones a un sitio web – especificamente un DMS (Sistema de gestión documental), uno de los varios problemas que tube fue el de buscar entre todo el codigo fuente ciertas líneas.

Por ejemplo, necesitaba saber en que script se habia llamado a cierta plantilla de smarty, trate de hacer un script utilizando Bash y utilidades del sistema, pero no lo lograba, hasta que comenze a usar el comando grep.

Su uso es muy sencillo, vas al directorio raíz en el cual deseas hacer la busqueda, y escribes lo siguiente:

grep -r <texto a buscar> *

Con esto lo que grep hara es, recorrer y revisar el contenido de todos los archivos contenidos en el directorio actual y sus subdirectorios y comparara cada línea con el text pasado com parametro, mostrando por consola, el archivo y la línea en la que se encontro el texto, por ejemplo;

Al ejecutar el comando:

grep -r eth0 *

, dentro del directorio /etc, mi resultado fue el siguiente:

[root@PEUMO etc]# grep -r eth0 *
dhcp6c.conf:#interface eth0 {
modprobe.conf:alias eth0 e100
modprobe.conf~:alias eth0 e100
ppp/ip-up.ipv6to4:# Example: IPV6TO4_ROUTING="eth0-:f101::1/64 eth1-:f102::1/64"
readahead.d/default.early:/etc/sysconfig/network-scripts/ifcfg-eth0
samba/smb.conf:; interfaces = lo eth0 192.168.12.2/24 192.168.13.2/24
sysconfig/cbq/cbq-0000.example:DEVICE=eth0,10Mbit,1Mbit
sysconfig/network-scripts/ifup-ipv6:# Example: IPV6TO4_ROUTING="eth0-:f101::1/64 eth1-:f102::1/64"
sysconfig/network-scripts/ifup-aliases:# Specify multiple ranges using multiple files, such as ifcfg-eth0-range0 and
sysconfig/network-scripts/ifup-aliases:# ifcfg-eth0-range1, etc. In these files, the following configuration variables
sysconfig/network-scripts/ifup-aliases:# The above example values create the interfaces eth0:0 through eth0:253 using
sysconfig/network-scripts/ifcfg-eth0:DEVICE=eth0
sysconfig/hwconf:device: eth0
sysconfig/networking/profiles/default/ifcfg-eth0:DEVICE=eth0
sysconfig/networking/devices/ifcfg-eth0:DEVICE=eth0

Como se puede ver en cada línea del resultado aparece al menos una vez el texto “eth0”. espero les sirva.