Funciones de cadena AWK

Funciones de cadena AWK

AWK es una poderosa herramienta de procesamiento de texto que se usa comúnmente para manipular y analizar datos en entornos de UNIX y Linux. Una de las características clave de AWK es su capacidad para manipular cuerdas utilizando una amplia variedad de funciones incorporadas.

En este artículo, exploraremos algunas de las funciones de manipulaciones de cadenas más utilizadas en AWK.

  • longitud (cadena): Devuelve la longitud de la cadena especificada.
  • subStr (cadena, inicio, longitud): Devuelve una subcadena de la cadena especificada, comenzando en la posición especificada y con la longitud especificada.
  • índice (cadena, subcadena): Devuelve la posición de la primera ocurrencia de la subcadena especificada en la cadena especificada.
  • división (cadena, matriz, separador): Divide la cadena especificada en una matriz de subcadenas, utilizando el separador especificado para determinar dónde dividir la cadena.
  • sub (regexp, reemplazo, cadena): Esto reemplaza la primera coincidencia de expresión regular que ocurre de la cadena con "reemplazo".
  • gsub (regexp, reemplazo, cadena): Reemplaza todas las ocurrencias de la expresión regular especificada en la cadena especificada con la cadena de reemplazo especificada.
  • Match (String, Regexp): Busca la cadena especificada para la primera ocurrencia de la expresión regular especificada y devuelve la posición de la coincidencia y la longitud de la subcadena coincidente en una matriz.
  • tolower (cadena) y toupper (cadena): Convierte todos los caracteres mayúsculas o minúsculas en la cadena especificada en caracteres minúsculas o mayúsculas, respectivamente.

Entendamos todas las funciones de cadena una por una, incluido el ejemplo:

1. longitud (cadena)

El longitud (cadena) la función devuelve la longitud de la cadena especificada. Por ejemplo, si queremos encontrar la longitud de la cadena "Hola Mundo!", Podemos usar el siguiente código:

awk 'begin print long ("Hola, mundo!") '
1awk 'begin print long ("Hola, mundo!") '

Esto saldrá "13", Desde la cadena "Hola, mundo!"Tiene 13 caracteres.

2. subStr (cadena, inicio, longitud)

El subStr (cadena, inicio, longitud) la función devuelve una subcadena de la cadena especificada, comenzando en la posición especificada y con la longitud especificada. Por ejemplo, si queremos extraer los primeros 5 caracteres de la cadena "Hola Mundo!", Podemos usar el siguiente código:

Awk 'Begin PRIMPRESS SUBSTR ("Hola, mundo!", 15)'
1Awk 'Begin PRIMPRESS SUBSTR ("Hola, mundo!", 15)'

Esto saldrá "Hola", Dado que los primeros 5 caracteres de la cadena son "hola".

3. índice (cadena, subcadena)

El índice (cadena, subcadena) La función devuelve la posición de la primera ocurrencia de la subcadena especificada en la cadena especificada. Por ejemplo, si queremos encontrar la posición del "mundo" de la subcadena en la cadena "Hola, mundo!", Podemos usar el siguiente código:

Awk 'Begin Impresa índice ("Hola, mundo!", "Mundo")'
1Awk 'Begin Impresa índice ("Hola, mundo!", "Mundo")'

Esto saldrá "8", Dado que el "mundo" de la subcadina comienza en la octava posición en la cadena.

4. división (cadena, matriz, separador)

El división (cadena, matriz, separador) la función divide la cadena especificada en una matriz de sustros, utilizando el separador especificado para determinar dónde dividir la cadena. Por ejemplo, si queremos dividir la cadena "manzana, plátano, naranja" en una variedad de subcadenas usando la coma como separador, podemos usar el siguiente código:

awk 'begin split ("manzana, plátano, naranja", a, ","); para (i en a) imprimir a [i] '
1awk 'begin split ("manzana, plátano, naranja", a, ","); para (i en a) imprimir a [i] '

Esto saldrá:

Salida de manzana plátano naranja 

5. sub (regexp, reemplazo, cadena)

El sub (regexp, reemplazo, cadena) La función reemplaza la primera aparición de la expresión regular especificada en la cadena especificada con la cadena de reemplazo especificada. Por ejemplo, si queremos reemplazar solo las primeras ocurrencias de la letra "O" en la cadena "Hola, mundo!"Con la letra" A ", podemos usar el siguiente código:

awk 'begin sub ("O", "A", "Hola, mundo!"); imprimir'
1awk 'begin sub ("O", "A", "Hola, mundo!"); imprimir'

Esto saldrá "Hella, mundo!", Dado que solo la primera aparición de la letra "O" ha sido reemplazada por la letra "A".

6. gsub (regexp, reemplazo, cadena)

La función GSUB (regexp, reemplazo, cadena) reemplaza todas las ocurrencias de la expresión regular especificada en la cadena especificada con la cadena de reemplazo especificada. Por ejemplo, si queremos reemplazar todas las ocurrencias de la letra "O" en la cadena "Hola, mundo!"Con la letra" A ", podemos usar el siguiente código:

Awk 'begin gsub ("o", "a", "Hola, mundo!"); imprimir'
1Awk 'begin gsub ("o", "a", "Hola, mundo!"); imprimir'

Esto generará "Hella, Warld!", Ya que todos los ocurrencias de la letra" O "han sido reemplazadas por la letra" A ".

7. Match (String, Regexp)

El Match (String, Regexp) La función busca la cadena especificada para la primera ocurrencia de la expresión regular especificada y devuelve la posición de la coincidencia y la longitud de la subcadena coincidente en una matriz. Por ejemplo, si queremos encontrar la posición y la longitud de la primera ocurrencia de la palabra "mundo" en la cadena "Hola, mundo!", Podemos usar el siguiente código:

Awk 'Begin Match ("Hola, mundo!", /World /); imprime rstart, rlength '
1Awk 'Begin Match ("Hola, mundo!", /World /); imprime rstart, rlength '

Esto saldrá "8 5", Dado que la palabra "mundo" comienza en la octava posición en la cadena y tiene una longitud de 5 caracteres.

8. tolower (cadena) y toupper (cadena)

El TOLTROWER (cadena) La función convierte todos los caracteres mayúsculas en la cadena especificada en caracteres minúsculas, mientras que la función ToUpper (cadena) convierte todos los caracteres en minúsculas en la cadena especificada a caracteres mayúsculas. Por ejemplo, si queremos convertir la cadena "Hola, mundo!"Para todas las letras minúsculas, podemos usar el siguiente código:

Awk 'Begin imprime tolower ("Hola, mundo!") '
1Awk 'Begin imprime tolower ("Hola, mundo!") '

Esto saldrá "Hola Mundo!".

Del mismo modo, si queremos convertir la misma cadena en todas las letras mayúsculas, podemos usar el siguiente código:

awk 'begin imprime toupper ("Hola, mundo!") '
1awk 'begin imprime toupper ("Hola, mundo!") '

Esto saldrá "HOLA MUNDO!".

Conclusión

En este artículo, hemos explorado algunas de las funciones de manipulaciones de cadenas más utilizadas en AWK. Estas funciones nos permiten realizar una amplia variedad de tareas, como encontrar la longitud de una cadena, extraer sustros, buscar patrones, dividir las cadenas en matrices y convertir el texto en diferentes casos. Al dominar estas funciones, podemos ser más competentes para trabajar con datos de texto en entornos UNIX y Linux y aumentar nuestra productividad como analistas de datos y programadores.