Ejemplos SED de grupos de captura

Ejemplos SED de grupos de captura
Las operaciones de manejo de archivos de texto juegan un papel vital en la vida diaria de un usuario de la computadora para tratar con texto es común entre los usuarios de todas las profesiones. Linux y sus distribuciones proporcionan una variedad de herramientas y utilidades de línea de comandos para acceder y administrar archivos de texto como el editor predeterminado, VIM, Nano. Estas herramientas ayudan a editar, eliminar, sustituir, el texto dentro de los archivos de texto; Sin embargo, los usuarios deben abrir el archivo utilizando cualquiera de estos editores y realizar manualmente los cambios que se deben realizar.

Hay otro editor conocido conocido como "Editor de transmisión (SED)"; La utilidad de la línea de comandos de SED de Ubuntu proporciona un amplio soporte para administrar archivos de texto; Esta herramienta se clasifica en los editores más altos debido a las características avanzadas que ofrece mientras trata con archivos de texto. La razón detrás de su popularidad es una operación de comando de línea: lo que significa que puede administrar archivos de texto utilizando terminal y los usuarios no tienen que abrir y editar manualmente ningún archivo de texto. El grupo de captura se refiere a otra característica avanzada de esta herramienta; La funcionalidad de captura del grupo de SED permite al usuario obtener la parte específica de un archivo de texto o una línea. En esta guía detallada, hemos descrito brevemente el concepto de agrupación de captura, su trabajo y uso con SED.

En primer lugar, obtendremos una visión profunda de los grupos de captura y luego procederemos a su uso con SED:

Entonces, comencemos la guía de hoy:

Cómo funcionan los grupos de captura

Como se discutió anteriormente, los grupos de captura son la parte específica de cualquier línea o archivo de texto. Puede haber uno de los siguientes propósitos detrás de los grupos de captura:

  • Para capturar la información
  • Manipular el texto para una coincidencia específica

Se puede utilizar para obtener la información precisa buscando la parte específica dentro de un archivo de texto, así como las operaciones de manipulación también se pueden realizar en esa coincidencia específica.

Cómo hacer grupos de captura usando el comando SED en Ubuntu

Los grupos de captura en SED se forman aplicando paréntesis a expresiones regulares o la operación que el usuario desea realizar. Por ejemplo, para hacer grupos de captura, debe poner paréntesis como "\ (" al inicio y "\)" al final de una expresión regular específica:

En resumen, el grupo de captura se usa para tomar la parte específica de la línea, el archivo de texto y luego realizar una operación en ese grupo:

Los próximos ejemplos demuestran el uso de grupos de captura utilizando el comando SED; Los ejemplos varían de un nivel básico a avanzado.

Capturar un grupo único usando el comando SED

El comando escrito a continuación capturará la palabra "Hola"Y luego reemplace la palabra que ocurre después ("sed!") con "Linuxhint": Es posible que haya notado que el grupo de captura está encerrado en la expresión de paréntesis" \ \(" y "\)".

$ Echo hola sed! | sed 's/\ (hola \) sed!/\ 1 Linuxhint/'

Capturar múltiples grupos usando el comando SED

El comando SED le permite capturar múltiples grupos y luego realizar la operación en ese grupo. Por ejemplo, el comando mencionado a continuación capturará e imprimirá solo grupos seleccionados. Se observa que los grupos de captura pueden llamarse asignándoles un nombre de pedido:

En la parte de eco de este comando, se colocan tres distribuciones y se coloca un Linux principal, yo.mi., Total de cuatro entradas: sin embargo, en el comando SED solo hemos llamado 1,2 y 3 grupos en orden inverso. La salida muestra que solo tres grupos se imprimen en orden inverso mientras "Fedora"Mantiene su posición original:

$ Echo Ubuntu Debian Linux Fedora | sed 's/\ (ubuntu \) \ (Debian \) \ (Linux \)/\ 3 \ 2 \ 1/'

Capturar grupos de expresiones complejas

Digamos que tenemos una expresión que contiene palabras clave alfanuméricas; Tenemos que hacer grupos y luego imprimirlos en cualquier orden (inversa/normal). El comando que se da a continuación muestra que la expresión contiene palabras clave alfanuméricas; Hemos hecho grupos de las tres palabras alfanuméricas y luego mostramos esas palabras en orden inverso:

Nota: El mismo comando se puede usar reemplazando "\w\w*" con "[[: alnum:] _] \ 1, \":

$ Echo Linuxhint 123 Capture_Groups | sed 's/\ (\ w \ w*\) \ (\ w \ w*\) \ (\ w \ w*\)/\ 3 \ 2 \ 1/'

El comando anterior contiene grupos de captura "\ (\ w \ w*\)"; Estos funcionan para palabras clave alfanuméricas. Puede ejecutar el comando anterior utilizando la clase de caracteres alfanuméricos como un grupo de captura. Por ejemplo, el comando mencionado a continuación dará la misma salida cuando la clase de caracteres alfanuméricos se usa como grupo de captura:

$ Echo Linuxhint 123 Capture_Groups | sed 's/\ ([[[: alnum:] _] \ 1, \ \) \ ([[: alnum:] _] \ 1, \ \) \ ([[: alnum:] _] \ 1, \ \)/\ 3 \ 2 \ 1/'

Conclusión

SED Command Line Utility proporciona una guía detallada para tratar los archivos de texto utilizando el terminal de línea de comandos; Este editor puede ser difícil de operar, pero a medida que cava en los detalles, le resultará fácil de entender y aplicar. Además, sus funcionalidades avanzadas alivian el proceso de manipulación y administración de los archivos de texto; como expresiones regulares y capturación grupal. En este artículo, hemos fijado el concepto de grupos de captura en SED; y proporcionó el uso exhaustivo al referirse a algunos ejemplos. Los grupos de captura son bastante útiles, especialmente cuando tiene archivos de texto muy grandes y desea identificar contenido específico de esos archivos.