grep: buscando cadenas de caracteres en ficheros
Si trabajas mucho con consola, hay determinadas herramientas imprescindibles, y una de ellas es grep.
Imagina que tienes un fichero de texto (de configuración de algún
programa, por ejemplo) y que este fichero tiene un tamaño bastante
respetable. Imagina que necesitas encontrar el lugar exacto de ese
fichero donde se encuentra un texto concreto. Si no conoces grep,
tendrás que revisar todo el contenido buscando la cadena dichosa, y
seguramente la pases por alto, teniendo que comenzar de nuevo.
Pues bien, si utilizas grep (viene por defecto en casi todos los
sistemas, en caso contrario, instálalo con apt-get), resolverás el
problema en 5 segundos.
Antes de empezar, un par de puntualizaciones:
- El texto a buscar es sensible a mayúsculas/minúsculas. Si no sabemos como está escrita la palabra en el documento, usaremos el parámetro -i
Ejemplos de usos:
grep cadena fichero Esta orden mostrará las líneas del fichero en las cuales exista la cadena que le pasamos como parámetro
grep "cadena de texto" fichero
Buscamos mas de una palabragrep -i cadena fichero No se tendrá en cuenta ni mayúculas ni minúsculas
grep cadena fichero1 fichero2 fichero3 Si la búsqueda la queremos hacer en varios ficheros
grep -r cadena carpeta/ La búsqueda se realizará de forma recursiva en el directorio especificado
grep -v cadena fichero Justamente al revés que grep cadena fichero, es decir, nos devolverá todas las líneas QUE NO COINCIDAN
grep -n cadena fichero Además de la línea, devolverá el número de línea en que se encuentra la cadena
También podemos usar grep para filtrar datos de salida de otras aplicaciones, por ejemplo:
ps ax | grep firefox Solo nos presentará las líneas que contengan firefox al ejecutar el comando ps ax
dpkg -l | grep paquete En este caso, grep filtrará las coincidencias de la cadena con los paquetes instalados
Como siempre digo al final de los artículos, hay muchas mas opciones, y para eso está la documentación oficial:
grep -lir "cadena a buscar" "/media/win/cosas"
- El parámetro -l le indica que imprima los nombres de archivos en los que se encuentre el texto solicitado.
- El parámetro -i, que ignore las mayúsculas y minúsculas.
- El parámetro -r, que busque en forma recursiva dentro de la ruta indicada.
============================================
En modo gráfico podemos hacerlo con el programa:
KFileReplace
No hay comentarios:
Publicar un comentario