Cómo buscar cadenas de texto de forma recursiva en GNU/Linux

servidor-intel.jpg

¿Necesitas un servidor?

Usa este formulario para decirnos las características del servidor que necesitas y te lo presupuestamos sin compromiso.

Hoy me he encontrado con un viejo cuaderno en el que apuntaba los comandos que me parecían interesantes para manejarme en mi sistema GNU/Linux. Le he estado echando una ojeada y me ha llamado especialmente la atención un comando que por aquélla época usaba bastante a menudo y no sé por qué pero siempre elegía el formato largo. Supongo que serán manías. Lo usaba para hacer búsquedas de cadenas de texto dentro de los archivos. El comando en cuestión es :

 

$ find ruta -type f | xargs grep “textoabuscar”

 

Que devuelve un listado con todos aquellos archivos que se encuentran en la ruta de búsqueda y que contienen la cadena “textoabuscar”. Si analizamos la el comando nos damos cuenta de que se trata de una combinación de una ejecución con find y grep En la primera parte, la que corresponde a find ruta -type f, se hace una búsqueda de todos los archivos localizados en la ruta especificada. Este listado se pasa como argumentos por medio del pipe a la siguiente ejecución xargs grep “textoabuscar”. Lo cierto es que la ejecución de este comando resulta bastante difícil de recordar así que a lo mejor prefieras usar otro comando que con las debidas opciones hace lo mismo y es:

 

$ grep -R -e “textoabuscar” ruta

 

Donde -R hace que la búsqueda sea recursiva dentro de la ruta que se especifica y -e sirve para indicar la cadena de búsqueda. El resultado será el mismo que en el caso anterior. Así que puedes usar la instrucción que te resulte más cómoda. Dejaré cerca este viejo cuaderno de apuntes de GNU/Linux, seguramente saque de él alguna cosa más que me parezca lo suficientemente interasante como para poder publicarla en este blog.

 

Etiquetas: 

Añadir nuevo comentario