jueves, 22 de octubre de 2009

Buscar palabras dentro de ficheros

Un comando muy útil en Linux es grep, y como admite muchos parámetros se pueden hacer gran cantidad de cosas con él.

En esta ocasión lo vamos a usar para que nos diga qué ficheros contienen una palabra (o una expresión regular) y en qué lineas, dado el directorio actual y suponiendo la búsqueda en los ficheros de éste y sus subdirectorios:

root@pc:/etc# grep -nr eth0 *
dhcp3/dhclient.conf:36:#  interface "eth0";
dhcp3/dhclient.conf:42:#  interface "eth0";
initramfs-tools/initramfs.conf:62:# Specify the network interface, like eth0
initramfs-tools/initramfs.conf:65:DEVICE=eth0
laptop-mode/conf.d/ethernet.conf:36:ETHERNET_DEVICES="eth0 eth1"
network/interfaces.232:4:auto eth0
network/interfaces.232:5:iface eth0 inet static
network/interfaces.137:4:auto eth0
network/interfaces.137:5:iface eth0 inet static
network/interfaces:4:auto eth0
network/interfaces:5:iface eth0 inet static