Buscar palabras en un archivo con ack

Buscar palabras en un archivo con ack.

Uno de los comandos más utilizados en la consola / terminal Linux es «grep«, muy útil si buscas cadenas de texto.

Tal vez no conozcas que existe otra forma de buscar palabras en un archivo, ademas mucho más rápida y segura. Tenemos la herramienta «ack» que escrita en Perl pretende ser el reemplazo natural de Grep.

Vemos algunas de las características de «ACK«:

  • Busca por defecto en la carpeta actual.
  • De manera predeterminada busca recursivamente en todo el directorio.
  • Ignora carpetas de metadatos, .svn, .git, CSV, etc…
  • Permite ignorar archivos binarios.
  • Imprime el número de línea en los resultados de la búsqueda (muy útil para localizar la cadena posteriormente).
  • Tiene la capacidad de buscar en tipos de archivos específicos.
  • Colorea los resultados de búsqueda.
  • Compatible con expresiones regulares avanzadas de Perl (más expresivas que las expresiones GNU que utiliza grep).

Esta aplicación no viene por defecto en casi ninguna distribución linux, así que la instalamos.

 

Instalar ack

En Debian, Ubuntu, Linux mint y derivados.

En OpenSuse, SuSe y derivados.

En CentOS, Fedora y derivados.

En Arch debes instalar el paquete «community/ack».

Instalar ack en linux

 

Buscar palabras con ack

Las expresiones de búsqueda son prácticamente las mismas que con grep, puedes revisar este articulo anterior.

Si por ejemplo queremos buscar la cadena «sh» en cualquier archivo y subdirectorio de una carpeta, ejecutamos lo siguiente desde el directorio padre.

Si quieres buscar en un archivo especifico.

Ahora especificamos sobre que tipo de lenguaje de programación debe buscar (en el ejemplo perl), y la ruta de la carpeta.

En la imagen siguiente vemos un ejemplo de como «ask» identifica el archivo donde encontró la cadena, el numero de linea, y el coloreado final.

Buscar caracteres en un archivo en linux

 

Puedes ver en pantalla todas las opciones disponibles ejecutando…

Como curiosidad el autor de la herramienta incrusta una imagen en ASCII de «Bill el gato«, la puedes visualizar ejecutando la opción «–thpppt».

ejemplo de salida…

ack logo

 

En Sololinux.es seguimos creciendo gracias a nuestros lectores, puedes colaborar con el simple gesto de compartir nuestros artículos en tu sitio web, blog, foro o redes sociales. 

 

Agregar comentario