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.