Comment extraire une partie d'une chaîne à l'aide de commandes Bash Cut et Split

Comment extraire une partie d'une chaîne à l'aide de commandes Bash Cut et Split
Pendant la programmation, il y en a souvent lorsque nous devons extraire une partie spécifique d'une chaîne à partir d'un texte plus grand. Cela peut être fait en utilisant diverses techniques et outils, et l'une des méthodes les plus populaires est l'utilisation de commandes bash / coupe / fractionnement dans Linux / Unix.

Ces commandes sont puissantes et polyvalentes et peuvent être utilisées pour extraire des parties spécifiques d'une chaîne basée sur divers délimiteurs tels que des espaces, des virgules et des demi-finales. Cet article explorera comment extraire des parties d'une chaîne à l'aide de commandes Bash / Cut / Split et fournir des exemples pratiques pour vous aider à mieux comprendre comment les utiliser efficacement.

La commande de coupe

La commande Cut est utilisée pour extraire des sections de chaque ligne d'un fichier ou d'une chaîne. Il s'agit d'une commande simple et puissante qui peut extraire des champs basés sur un délimiteur ou un caractère spécifique. La syntaxe de la commande Cut est la suivante:

Cut -d [délimiter] -f [champ] [nom de fichier]

Ici, l'option -d spécifie le délimiteur utilisé dans le fichier d'entrée, et l'option -f spécifie le ou les champs à extraire. L'argument de nom de fichier est le fichier d'entrée à traiter. Par exemple, supposons que nous ayons un fichier appelé TestFile.txt, avec le contenu suivant:

BMW, M5
Lexus, LS470
Volvo, x70

Si nous voulons extraire le deuxième champ de chaque ligne, nous pouvons utiliser le script shell suivant:

#!/ bac / bash
file de test de chat.SMS
Echo "Voici la partie extraite:"
Cut -d ',' -f 2 TestFile.SMS

Vous trouverez ci-dessous la sortie du code ci-dessus qui affiche le fichier et sa pièce extraite:

La commande divisée

La commande Split est utilisée pour diviser une chaîne en un tableau de sous-chaînes basées sur un délimiteur. Il s'agit d'une commande intégrée dans Bash qui peut être utilisée pour extraire une partie d'une chaîne. La syntaxe de la commande Split est la suivante:

Ifs = [Delimiter] read -ra [array_name] <<< "$[string]"

Ici, la variable IFS spécifie le délimiteur utilisé dans la chaîne, la commande de lecture lit l'entrée et la divise dans un tableau et le <<< operator is used to pass the string as input.

Par exemple, supposons que nous ayons une chaîne appelée «BMW, M5». Si nous voulons extraire le deuxième champ, nous pouvons utiliser le script bash suivant:

#!/ bac / bash
file de test de chat.SMS
Echo "Voici la partie extraite:"
Ifs = ',' Read -ra champs <<< "BMW,M5"
echo $ champs [1]

La commande Bash Split peut également être utilisée pour extraire plusieurs champs à partir d'une chaîne en utilisant plusieurs variables dans la commande de lecture.

Conclusion

Bash fournit plusieurs méthodes pour extraire une partie d'une chaîne, y compris les commandes Cut et Split. La commande Cut peut être utilisée pour extraire des champs en fonction d'un délimiteur ou d'un caractère spécifique, tandis que la commande divisée peut être utilisée pour diviser une chaîne en un tableau de sous-chaînes basées sur un délimiteur. Comprendre comment extraire une partie d'une chaîne est une compétence importante pour tous ceux qui travaillent avec des scripts bash.