6 mejores herramientas de CLI para buscar datos de texto sencillo utilizando expresiones regulares

6 mejores herramientas de CLI para buscar datos de texto sencillo utilizando expresiones regulares

Esta guía realiza un recorrido por algunas de las mejores herramientas de línea de comandos que se utilizan para buscar cadenas o patrones coincidentes en archivos de texto. Estas herramientas generalmente se usan junto con expresiones regulares, acortadas como Regular - que son cadenas únicas para describir un patrón de búsqueda.

Sin mucho más preámbulo, buceemos.

1. Comando GREP

En primer lugar es la herramienta GreP Utility - es un acrónimo de Impresión de expresión regular global, es una poderosa herramienta de línea de comandos que es útil cuando se busca una cadena específica o un patrón en un archivo.

Grep naves con distribuciones modernas de Linux de forma predeterminada y le brinda la flexibilidad de devolver varios resultados de búsqueda. Con GREP, puede realizar una amplia gama de funcionamiento, como:

  • Buscar cadenas o patrones coincidentes en un archivo.
  • Buscar cadenas o patrones coincidentes en archivos GZipped.
  • Cuenta el número de coincidencias de cadenas.
  • Imprima los números de línea que contienen la cadena o el patrón.
  • Buscar recursivamente para la cadena en directorios.
  • Realizar una búsqueda inversa (yo.mi. Mostrar resultados de cadenas que no coinciden con los criterios de búsqueda).
  • Ignorar la sensibilidad de los casos al buscar cuerdas.

La sintaxis para usar el grep El comando es bastante simple:

File de patrones $ GREP 

Por ejemplo, para buscar la cadena 'Linux'En un archivo, digamos, Hola.TXT Mientras ignora la sensibilidad del caso, ejecute el comando:

$ Grep -i Linux Hola.TXT 
Buscar cadena en un archivo

Para obtener más opciones con las que pueda usar con grep, Simplemente lea nuestro artículo que ejemplos más avanzados de comando GREP.

2. comando SED

Sed - abreviatura de Editor de transmisión - es otra herramienta de línea de comandos útil para el texto de manipulación en un archivo de texto. SED busca, filtra y reemplaza las cuerdas en un archivo determinado de manera no interactiva.

Por defecto, sed El comando imprime la salida a Stdout (Estandar), lo que implica que el resultado de la ejecución se imprime en el terminal en lugar de ser guardado en un archivo.

El comando SED se invoca de la siguiente manera:

$ Sed -options Command [Archivo a editar] 

Por ejemplo, para reemplazar todas las instancias de 'Desastre' con 'Linux', Invoca el comando:

$ sed 's/unix/linux' hola.TXT 
Reemplace la cadena en un archivo

Si desea redirigir la salida en lugar de imprimirla en el terminal, use el signo de redirección (>) como se muestra.

$ sed 's/unix/linux' hola.txt> salida.TXT 
Redirigir la salida al archivo

La salida del comando se guarda en el producción.TXT archivo en lugar de imprimir en la pantalla.

Para ver más opciones que se pueden usar, una vez más, consulte las páginas del hombre.

$ hombre sed 

3. Comando ACK

Ack es una herramienta de línea de comandos rápida y portátil escrita en Perl. Ack se considera un reemplazo amistoso para utilidad grep y las salidas dan como resultado una manera visualmente atractiva.

Ack El comando busca el archivo o el directorio de las líneas que contienen la coincidencia para los criterios de búsqueda. Luego resalta la cadena coincidente en las líneas.
Ack tiene la capacidad de distinguir archivos en función de las extensiones de sus archivos y, hasta cierto punto, el contenido en los archivos.

Sintaxis del comando ACK:

$ ack [opciones] patrón [archivo ...] $ ack -f [opciones] [directorio ...] 

Por ejemplo, para verificar el término de búsqueda Linux, correr:

$ ack linux hola.TXT 
Verifique una cadena en un archivo

La herramienta de búsqueda es bastante inteligente y si el usuario proporciona ningún archivo o directorio, busca el directorio actual y los subdirectorios para el patrón de búsqueda.

En el ejemplo a continuación, no se ha proporcionado ningún archivo o directorio, pero ACK ha detectado automáticamente el archivo disponible y ha buscado el patrón de coincidencia proporcionado.

$ ack linux 
Cadena de búsqueda en un directorio

Instalar ack En su sistema ejecuta el comando:

$ sudo apt install ack-grrep [en Debian/Ubuntu] $ sudo dnf install ack-grrep [en centos/rhel] 

4. Comando AWK

Asombrar es un lenguaje de secuencias de comandos totalmente completo y también una herramienta de procesamiento de texto y manipulación de datos. Busca archivos o programas que contienen el patrón de búsqueda. Cuando se encuentra la cadena o el patrón, asombrar toma medidas en el partido o línea e imprime los resultados en Stdout.

El Asombrar El patrón está encerrado entre los aparatos ortopédicos, mientras que todo el programa está encerrado en citas individuales.

Tomemos el ejemplo más simple. Supongamos que está imprimiendo la fecha de su sistema como se muestra:

$ Fecha 
Verifique la fecha del sistema de Linux

Supongamos que solo desea imprimir el primer valor, que es el día de la semana. En ese caso, encienda la salida en asombrar como se muestra:

$ Fecha | Awk 'imprimir $ 1' 

Para mostrar valores posteriores, separarlos usando una coma como se muestra:

$ Fecha | Awk 'imprimir $ 1, $ 2' 

El comando anterior mostrará el día de la semana y la fecha del mes.

Ejemplos de comando AWK

Para obtener más opciones con las que pueda usar con asombrar, Simplemente lea nuestra serie de comandos AWK.

5. Buscador de plata

El Silver Searcher es una herramienta de búsqueda de código multiplataforma y OpenSource similar a ack Pero con énfasis en la velocidad. Le facilita la búsqueda de una cadena específica dentro de los archivos en el tiempo más corto posible:

Sintaxis:

$ AG Options search_pattern/path/to/file 

Por ejemplo, para buscar la cadena 'Linux'En un archivo Hola.TXT Invocar el comando:

$ AG Linux Hola.TXT 
Buscar cadena en el archivo

Para opciones adicionales, visite las páginas del hombre:

$ hombre AG 

6. Ribete

Por último, tenemos la herramienta de línea de comandos RipGrep. Ribete es una utilidad multiplataforma para buscar patrones de regex. Es mucho más rápido que todas las herramientas de búsqueda mencionadas anteriormente y busca recursivamente directorios para patrones de coincidencia. En términos de velocidad y rendimiento, ninguna otra herramienta destaca que Ribete.

Por defecto, ribete omitirá archivos binarios/archivos y directorios ocultos. Además, tenga en cuenta que de forma predeterminada no buscará archivos que se ignoren por .Gitignore/.ignorar/.rgignore archivos.

Ribete también le permite buscar tipos de archivos específicos. Por ejemplo, para limitar su búsqueda a Javascript Archivos ejecutados:

$ rg -tsj 

La sintaxis para usar RipGrep es bastante fácil:

$ RG [Opciones] Patrón [Ruta ...] 

Por ejemplo. Para buscar instancias de la cadena 'Linux' En archivos ubicados dentro del directorio actual, ejecute el comando:

$ rg Linux 
Buscar cadena en un archivo

Instalar ribete En su sistema ejecuta los siguientes comandos:

$ sudo apt install ripGrep [en Debian/Ubuntu] $ sudo Pacman -S RipGrep [en Arch Linux] $ sudo zypper install ripGrep [en Usura de apertura] $ sudo dnf install ripGrep [en Centos/Rhel/Fedora] 

Para opciones adicionales, visite las páginas del hombre:

$ hombre rg 

Estas son algunas de las herramientas de línea de comandos más utilizadas para buscar, filtrar y manipular texto en Linux. Si tiene otras herramientas que siente que nos queda fuera, háganos saber en la sección de comentarios.