Fonctions de chaîne awk

Fonctions de chaîne awk

AWK est un puissant outil de traitement de texte couramment utilisé pour manipuler et analyser les données dans les environnements Unix et Linux. L'une des principales caractéristiques de AWK est sa capacité à manipuler des chaînes en utilisant une grande variété de fonctions intégrées.

Dans cet article, nous explorerons certaines des fonctions de manipulations de chaîne les plus couramment utilisées dans awk.

  • longueur (chaîne): Renvoie la longueur de la chaîne spécifiée.
  • substr (chaîne, démarrage, longueur): Renvoie une sous-chaîne de la chaîne spécifiée, à partir de la position spécifiée et avec la longueur spécifiée.
  • index (String, substring): Renvoie la position de la première occurrence de la sous-chaîne spécifiée dans la chaîne spécifiée.
  • Split (chaîne, tableau, séparateur): Divise la chaîne spécifiée dans un tableau de sous-chaînes, en utilisant le séparateur spécifié pour déterminer où diviser la chaîne.
  • sub (regexp, remplacement, chaîne): Cela remplace la première correspondance d'expression régulière qui se produit à partir de la chaîne par «remplacement».
  • gsub (regexp, remplacement, chaîne): Remplace toutes les occurrences de l'expression régulière spécifiée dans la chaîne spécifiée avec la chaîne de remplacement spécifiée.
  • Match (String, Regexp): Recherche la chaîne spécifiée pour la première occurrence de l'expression régulière spécifiée et renvoie la position de la correspondance et la longueur de la sous-chaîne correspondante dans un tableau.
  • Tolower (String) et Toupper (String): Convertit tous les caractères majuscules ou minuscules dans la chaîne spécifiée en caractères minuscules ou majuscules, respectivement.

Comprenons toutes les fonctions de chaîne une par une, y compris l'exemple:

1. longueur (chaîne)

Le longueur (chaîne) La fonction renvoie la longueur de la chaîne spécifiée. Par exemple, si nous voulons trouver la longueur de la chaîne "Bonjour le monde!", Nous pouvons utiliser le code suivant:

awk 'begin imprimer la longueur ("bonjour, monde!") '
1awk 'begin imprimer la longueur ("bonjour, monde!") '

Ce sera sorti "13", Depuis la chaîne «Bonjour, monde!"A 13 caractères.

2. substr (chaîne, démarrage, longueur)

Le substr (chaîne, démarrage, longueur) La fonction renvoie une sous-chaîne de la chaîne spécifiée, en commençant par la position spécifiée et avec la longueur spécifiée. Par exemple, si nous voulons extraire les 5 premiers caractères de la chaîne "Bonjour le monde!", Nous pouvons utiliser le code suivant:

awk 'begin imprimer substr ("Bonjour, monde!", 1, 5) '
1awk 'begin imprimer substr ("Bonjour, monde!", 1, 5) '

Ce sera sorti "Bonjour", Étant donné que les 5 premiers caractères de la chaîne sont «bonjour».

3. index (String, substring)

Le index (String, substring) La fonction renvoie la position de la première occurrence de la sous-chaîne spécifiée dans la chaîne spécifiée. Par exemple, si nous voulons trouver la position du «monde» de la sous-chaîne dans la chaîne «Bonjour le monde!», Nous pouvons utiliser le code suivant:

awk 'begin imprimer index ("Hello, world!", "Monde")'
1awk 'begin imprimer index ("Hello, world!", "Monde")'

Ce sera sorti "8", Puisque la substrat «Monde» commence à la 8e position dans la chaîne.

4. Split (chaîne, tableau, séparateur)

Le Split (chaîne, tableau, séparateur) La fonction divise la chaîne spécifiée dans un tableau de sous-chaînes, en utilisant le séparateur spécifié pour déterminer où diviser la chaîne. Par exemple, si nous voulons diviser la chaîne «Apple, banane, orange» en un tableau de sous-chaînes utilisant la virgule comme séparateur, nous pouvons utiliser le code suivant:

awk 'begin Split ("Apple, Banana, Orange", A, ","); pour (i en a) imprimer un [i] '
1awk 'begin Split ("Apple, Banana, Orange", A, ","); pour (i en a) imprimer un [i] '

Ce sera sorti:

Sortie Apple Banana Orange 

5. sub (regexp, remplacement, chaîne)

Le sub (regexp, remplacement, chaîne) La fonction remplace la première occurrence de l'expression régulière spécifiée dans la chaîne spécifiée avec la chaîne de remplacement spécifiée. Par exemple, si nous voulons remplacer uniquement les premières occurrences de la lettre «O» dans la chaîne «Bonjour le monde!«Avec la lettre« A », nous pouvons utiliser le code suivant:

awk 'begin sub ("o", "a", "bonjour, monde!"); imprimer'
1awk 'begin sub ("o", "a", "bonjour, monde!"); imprimer'

Ce sera sorti «Hella, monde!", Étant donné que seule la première occurrence de la lettre «O» a été remplacée par la lettre «A».

6. gsub (regexp, remplacement, chaîne)

La fonction GSUB (regexp, remplacement, chaîne) remplace toutes les occurrences de l'expression régulière spécifiée dans la chaîne spécifiée avec la chaîne de remplacement spécifiée. Par exemple, si nous voulons remplacer toutes les occurrences de la lettre «O» dans la chaîne «Bonjour,!«Avec la lettre« A », nous pouvons utiliser le code suivant:

awk 'begin gsub ("o", "a", "bonjour, monde!"); imprimer'
1awk 'begin gsub ("o", "a", "bonjour, monde!"); imprimer'

Cela sortira «Hella, Warld!», Depuis que toutes les occurrences de la lettre« O »ont été remplacées par la lettre« A ».

7. Match (String, Regexp)

Le Match (String, Regexp) La fonction recherche la chaîne spécifiée pour la première occurrence de l'expression régulière spécifiée et renvoie la position de la correspondance et la longueur de la sous-chaîne correspondante dans un tableau. Par exemple, si nous voulons trouver la position et la longueur de la première occurrence du mot «monde» dans la chaîne «Bonjour le monde!», Nous pouvons utiliser le code suivant:

awk 'begin Match ("Hello, world!", / World /); imprimer rstart, rLength '
1awk 'begin Match ("Hello, world!", / World /); imprimer rstart, rLength '

Ce sera sorti «8 5», Puisque le mot «monde» commence à la 8e position dans la chaîne et a une longueur de 5 caractères.

8. Tolower (String) et Toupper (String)

Le Tolower (String) La fonction convertit tous les caractères majuscules dans la chaîne spécifiée en caractères minuscules, tandis que la fonction Toupper (String) convertit tous les caractères minuscules dans la chaîne spécifiée en caractères majuscules. Par exemple, si nous voulons convertir la chaîne «Bonjour le monde!«Pour toutes les lettres minuscules, nous pouvons utiliser le code suivant:

awk 'begin imprimer Tolower ("Hello, monde!") '
1awk 'begin imprimer Tolower ("Hello, monde!") '

Ce sera sorti "Bonjour le monde!".

De même, si nous voulons convertir la même chaîne en toutes les lettres majuscules, nous pouvons utiliser le code suivant:

awk 'begin imprimer toupper ("bonjour, monde!") '
1awk 'begin imprimer toupper ("bonjour, monde!") '

Ce sera sorti "BONJOUR LE MONDE!".

Conclusion

Dans cet article, nous avons exploré certaines des fonctions de manipulations de chaîne les plus couramment utilisées dans awk. Ces fonctions nous permettent d'effectuer une grande variété de tâches, telles que la recherche de la longueur d'une chaîne, l'extraction de sous-chaînes, la recherche de modèles, la division des chaînes en tableaux et la conversion de texte en différents cas. En maîtrisant ces fonctions, nous pouvons devenir plus compétents pour travailler avec des données de texte dans les environnements UNIX et Linux et augmenter notre productivité en tant qu'analystes de données et programmeurs.