Los sistemas operativos Linux ofrecen soporte para buscar cadenas de texto específicas tanto en archivos como en directorios. Una de las herramientas más comunes para buscar una cadena de texto es grep. Grep permite a los usuarios buscar cualquier patrón con expresiones regulares dentro de archivos y directorios. Sin embargo, grep tiene algunas limitaciones. Es una herramienta de propósito general sin ninguna optimización. Aquí es donde la herramienta Ack puede ayudar. La herramienta Ack está diseñada específicamente para que los desarrolladores busquen el código fuente de los programas. La herramienta Ack es más rápida que grep y nos permite excluir ciertos resultados de los resultados de búsqueda.
En esta publicación, le mostraremos cómo instalar y usar el comando Ack en Linux.
Requisitos
- Un servidor que ejecuta Linux en Atlantic.Net Cloud Platform
- Una contraseña de root configurada en su servidor
Crear servidor en la nube de Atlantic.Net
Primero, inicie sesión en su servidor en la nube de Atlantic.Net. Cree un nuevo servidor, eligiendo cualquier sistema operativo Linux con al menos 1 GB de RAM. Conéctese a su servidor en la nube a través de SSH e inicie sesión con las credenciales resaltadas en la parte superior de la página.
Instalar reconocimiento en Linux
Para distribuciones basadas en Debian y Ubuntu, instale la herramienta Ack usando el siguiente comando:
apt-get install ack-grep -y
Para distribuciones basadas en RHEL, Fedora y CentOS, instale la herramienta Ack con el siguiente comando:
dnf install ack-grep -y
Después de la instalación, verifique la versión Ack usando el siguiente comando:
ack --version
Obtendrá el siguiente resultado:
ack 2.22 Running under Perl 5.26.1 at /usr/bin/perl Copyright 2005-2017 Andy Lester. This program is free software. You may modify or distribute it under the terms of the Artistic License v2.0.
Descargar código fuente de Neovim
Para demostrar cómo usar el comando Ack, descargaremos el código fuente de neovim del repositorio de Git.
Ejecute el siguiente comando para descargar la fuente de neovim:
git clone https://github.com/neovim/neovim.git
Una vez que se complete la descarga, cambie el directorio a la fuente descargada y enumere todos los archivos:
cd neovim ls neovim
Debería ver todos los archivos en el siguiente resultado:
BACKERS.md CMakeLists.txt CONTRIBUTING.md man scripts third-party BSDmakefile codecov.yml LICENSE.txt packaging snap unicode ci config MAINTAIN.md README.md src cmake contrib Makefile runtime test
Buscar el número total de archivos en el directorio
Puede usar el comando Ack para averiguar cuántos archivos hay dentro del repositorio.
ack -f | wc -l
Obtendrá el siguiente resultado:
2899
Buscar un patrón de cadena usando el comando Ack
El comando Ack puede buscar un patrón específico y encontrar datos que tengan coincidencias parciales o totales.
Por ejemplo, para buscar la cadena "restringir ” en el repositorio, ejecuta el siguiente comando:
ack restrict
Obtendrá el siguiente resultado:
Buscar una palabra de patrón de cadena usando el comando Ack
Si desea ver la coincidencia exacta en el resultado, use -w opción:
ack -w restrict
Obtendrá el siguiente resultado:
Como puede ver, el comando Ack busca restringir como una palabra completa.
Buscar un patrón de cadena de un tipo de archivo específico
Si desea buscar una cadena específica en un tipo de archivo específico, incluidos Python, C o Vim, puede usar la opción –python, –c o –vim.
Por ejemplo, para buscar una cadena "restringir ” solo dentro de los archivos de Python, ejecute el siguiente comando:
ack -w --python restrict
Obtendrá el siguiente resultado:
Contar el total de ocurrencias de una búsqueda de cadenas
Si desea contar el número total de ocurrencias de una cadena específica, use -c opción con el comando Ack.
ack -c restrict
Obtendrá el siguiente resultado:
Si desea mostrar el número total de ocurrencias de una cadena “restrict ” en la salida, ejecute el siguiente comando:
ack -ch restrict
Obtendrá el siguiente resultado:
232
Si desea comprobar la velocidad de las búsquedas, ejecute el siguiente comando:
time ack -ch restrict
Obtendrá el siguiente resultado:
232 real 0m0.631s user 0m0.551s sys 0m0.076s
Buscar un tipo de archivo específico
El comando Ack también puede encontrar los tipos de archivos específicos del directorio especificado.
Por ejemplo, para encontrar todos los archivos de Python en su directorio actual, ejecute el siguiente comando:
ack -f --python
Obtendrá todos los archivos de Python en el siguiente resultado:
src/clint.py src/nvim/testdir/pyxfile/py2_magic.py src/nvim/testdir/pyxfile/py3_magic.py src/nvim/testdir/pyxfile/py3_shebang.py src/nvim/testdir/pyxfile/pyx.py src/nvim/testdir/pyxfile/py2_shebang.py src/nvim/testdir/test_makeencoding.py contrib/gdb/nvim-gdb-pretty-printers.py contrib/YouCompleteMe/ycm_extra_conf.py scripts/stripdecls.py scripts/gen_help_html.py scripts/check-includes.py scripts/shadacat.py scripts/gen_vimdoc.py
Conclusión
En esta publicación, explicamos cómo instalar y usar el comando Ack en Linux. Ack es una herramienta de búsqueda muy útil y flexible para desarrolladores cuando manejan múltiples proyectos. ¡Comience ahora con el alojamiento VPS de Atlantic.Net!