LinuxParty
Hoy me vi en la tarea de buscar una función de WordPress, pero como hacer para no tener que estar revisando cada archivo hasta encontrarla?
Si bien no existe un comando directo (aplicaciones no se) en linux para buscar cadenas de texto, lo podemos hacer mediante los comandos find, xargs y grep de la siguiente forma:
$ find /ruta/donde/buscar/ -name * | xargs grep "cadena a buscar"
Aunque la sintaxis es bastante clara y podemos ver el manual de cada comando en consola (con man comando) veamos es es lo que quiere decir esto:
- find realiza una lista de los ficheros de la ruta especificada. En este caso va a listar todos, pero si queremos buscar solo archivos de cierta extensión, solo hay que cambiar el asterisco (*) por el tipo de archivo deseado, por ejemplo *.php.
- | pasa la salida del comando anterior al siguiente.
- xargs toma la lista que resulta de find y la va pasando como llamadas consecutivas a grep.
- Y por ultimo, grep busca "cadena a buscar" dentro de los ficheros que le pasa xargs, buscados a su vez por find.
Si te interesan conocer las Expresiones Regulares en Linux, mira nuestro mini-tutorial.

-
Linux
- Gran Almacenaje Backends en Clusters Linux.
- La Instalación Perfecta para CentOS 4.5
- Extremadura decide promocionar el software libre entre el sector tecnológico
- II WhyFloss Conference - Madrid - 6 de JULIO
- Programar en Linux para la PS3 tiene premio.
- Instalando Google Desktop en Linux (PCLinuxOS 2007) y Ubuntu Feisty Fawn.
- Los autores de la GPLv3 son una panda de hipócritas
- ¿Porqué es difícil recuperar un fichero borrado en EXT3?
- Programa Administrador del Inicio de Linux ''Init Manager''.
- ¿ Son los LUG cosas del pasado ?
- Inicio dual entre Windows XP/Vista y Ubuntu Linux
- k3b 1.0.3
Comentarios
A propósito, también funciona esto (publicado también en linuxparty):
/article/35-linux/7828-buscar-un-texto-contenido-dentro-de-un-fichero-en-linux