Comment obtenir une sous-chaîne bash après un caractère spécifié

Comment obtenir une sous-chaîne bash après un caractère spécifié
En programmation, une chaîne est une série de caractères, que ce soit comme constante précise ou une sorte de variable. Les caractères contenus dans une chaîne peuvent être n'importe quel nombre, chiffre ou caractère spécial. Les mots clés peuvent être utilisés pour obtenir une sous-chaîne après certains caractères, et tous les mots clés fonctionnent de la même manière. Quelques exemples de mots clés comprennent les éléments suivants:
  • Couper
  • Awk
  • Sed

Cet article fournit plusieurs exemples pour améliorer votre compréhension du concept d'obtention d'une sous-chaîne après un certain caractère.

Pour suivre les exemples fournis dans ce tutoriel, connectez d'abord à votre système Linux et ouvrez le terminal. Ensuite, créez un nouveau fichier avec le nom «Entrée.shot."

Exemple 1: Utilisation du mot-clé Cut

Ouvrez le fichier «Entrée.sh ”du répertoire domestique et écrivez le code suivant dans le fichier. Dans notre premier exemple, nous définirons une chaîne nommée «String» avec une certaine valeur en ayant des caractères et des nombres. Nous utiliserons le mot-clé «coupe» dans ce code, suivi de «-d», pour obtenir la sous-chaîne de la chaîne particulière. Après cela, nous fournirons le caractère exact dans les virgules inversées comme «-» afin que la sous-chaîne soit recherchée après ce caractère spécial.

Ici, il est important de comprendre l'idée principale de la formation de sous-chaîne. Vous devez vous rappeler comment inclure le mot-clé «F» lors de l'utilisation de la commande «Cut». Le mot-clé «F» peut être utilisé de diverses manières pour créer une sous-chaîne, alors examinons cette méthode particulière.

-F2: Texte après le premier personnage spécial "-" Et avant le suivant "-"

Cela signifie qu'il devrait afficher la «barre» de la sous-chaîne car elle est située après le premier caractère «« »et avant le prochain caractère« - ».

Après avoir exécuté ce fichier bash, nous avons obtenu la «barre» de la sous-chaîne, comme nous nous attendions.

Maintenant, nous allons vérifier le même exemple pour le mot-clé «-f2-». Mettez à jour le fichier, comme ci-dessous.

-F2-: Le texte qui suit le premier personnage spécial «-« Peu importe qu'il y ait de nombreux «-» personnages.

Cela implique qu'il affichera la sous-chaîne «BAR-123» car elle est située après le premier «-» de caractère, qu'il existe non.

Après avoir exécuté ce fichier bash, nous avons obtenu la sous-chaîne «bar-123», car elle est située après le premier caractère «-».

Nous allons maintenant prendre la même condition, avec peu de modifications à la chaîne et aux caractères. Nous avons défini la nouvelle chaîne «str» et lui avons attribué une valeur différente. Dans cet exemple, «I» est le personnage spécial à rechercher à partir de la chaîne originale, et à partir de ce personnage, nous créerons une sous-chaîne. Dans ce cas, nous avons utilisé:

-F2: Pour créer une sous-chaîne suivant le premier personnage spécial «I» et avant le personnage suivant «I."

Cela implique qu'il devrait afficher la sous-chaîne «lteff = str» car elle est située après le premier caractère «i».

Lorsque le fichier s'exécute, une sous-chaîne sera obtenue avant le prochain «i» et après le premier «I."

Vous pouvez essayer cette méthode avec la même ligne de chaîne, comme indiqué dans l'image ci-dessous:

Il affichera le même résultat que ci-dessus.

Maintenant, nous utiliserons le mot-clé «coupe» avec peu de changement dans la condition «F» en une seule ligne. Nous utiliserons «F1» dans ce cas pour modifier le résultat de la sous-chaîne. Nous utilisons:

-F1: Pour créer une sous-chaîne avant le premier personnage spécial «I."

Cela déduit qu'il devrait afficher la sous-chaîne «Genf» car elle est située avant le caractère spécial «I."

La sortie ci-dessous est comme prévu.

Ici, nous utilisons le même exemple avec peu de changement. Nous utilisons l'ancienne méthode pour cela.

Le résultat de ce script est le même que ci-dessus.

Ensuite, en prenant le même exemple précédent, nous utilisons le mot-clé «coupe», tout en modifiant le mot-clé «F.«Ici, nous utiliserons« F3 »pour modifier le résultat de la sous-chaîne, et nous utilisons:

-F3: Pour créer une sous-chaîne après le prochain personnage spécial «I."

Cela indique qu'il devrait montrer la sous-chaîne «ng.-01234 ”car il est situé après le prochain personnage spécial« I."

Nous exécuterons le même code en utilisant la commande bash. Vous pouvez voir le nouveau résultat ci-dessous:

Exemple 2: Utilisation du mot-clé awk

Ouvrez le fichier «Entrée.sh ”et écrivez le code annexe dans le fichier. Ici, nous avons déclaré une déclaration d'écho avec la chaîne «foo-bar-123» en utilisant le mot-clé «awk». Le terme d'impression est suivi par le mot-clé «-f-». Cela créera une sous-chaîne après le prochain caractère spécial, qui est «123» et l'imprimera. Il n'est pas nécessaire de définir le caractère spécial dans ce cas.

Ce qui suit est la sortie «123» qui a été mentionnée ci-dessus.

Exemple 3: Utilisation du mot-clé SED

Dans cet exemple, nous mettrons à jour le même fichier avec le code fourni ci-dessous. Dans ce cas, le mot-clé «SED» est utilisé à la place de «Cut» ou «awk."

Ce code affichera une sortie similaire à celle de l'exemple précédent.

Exemple 4: Utilisation de caractères spéciaux

Dans l'exemple suivant, nous mettrons à jour le même fichier avec le code fourni ci-dessous. Ici, nous définirons trois chaînes: «String», «Searchstr» et «Temp."Nous avons" $ String% $ searchstr * "dans le code. Le «%» recherchera la valeur de la variable «Searchstr», qui est «et» et supprimera tout après cette variable spéciale de la chaîne d'origine d'origine. Le texte restant sera enregistré dans la variable «Temp."Maintenant, la variable" temp "sera imprimée, avec le texte" Ceci est une nouvelle chaîne."

Si nous exécutons le code ci-dessus, la chaîne d'origine sera imprimée en premier; Ensuite, la nouvelle sous-chaîne sera imprimée.

Prenant le même exemple avec une petite mise à jour, nous utiliserons la chaîne «# *» afin que tout ce qui suit la valeur de «Searchstr», qui est «et», sera inséré dans la variable «Temp."

Lorsque vous le vérifierez en bash, vous verrez que l'ancienne chaîne imprime d'abord. Après cela, puisque «il sera supprimé» est une nouvelle valeur de «température» variable, c'est pourquoi elle sera imprimée à la ligne suivante en premier, avec le texte «Ceci est une nouvelle chaîne."

Conclusion

Si vous souhaitez obtenir une sous-chaîne à partir de n'importe quelle chaîne en utilisant un caractère spécial, vous pouvez le faire en utilisant les méthodes fournies ci-dessus.