Fish Shell:
Extraction de sous-chaînes

How to:

Dans Fish, extrayons des morceaux de chaînes de caractères. Imaginez que vous avez un morceau de texte et que vous voulez juste un bout.

set phrase "Bonjour, je suis un script Fish!"
echo $phrase[9..12]  # Extraire "je"
echo $phrase[9..-1]  # Extraire "je suis un script Fish!"

Sortie:

je
je suis un script Fish!

Vous pouvez aussi définir le début et la fin.

set phrase "Pain au chocolat ou chocolatine?"
echo $phrase[1..4]    # Extraire "Pain"
echo $phrase[-12..-1] # Extraire "chocolatine?"

Sortie:

Pain
chocolatine?

Deep Dive

Historiquement, l’extraction de sous-chaînes est une fonctionnalité présente dans de nombreux langages, car les chaînes de caractères sont fondamentales en programmation. Dans le shell classique, cut, awk, grep peuvent faire le travail, mais sont moins intuitifs.

Fish offre une syntaxe claire, inspirée des langages comme Python. Il utilise des index basés sur 1, ce qui est naturel pour beaucoup d’utilisateurs (pas de tête cassée avec les index à partir de 0). Les index négatifs pour compter depuis la fin, c’est comme vérifier combien il reste de tranches dans la baguette sans la sortir du sac.

Fish rend aussi superflu l’usage de commandes externes pour des tâches simples, ce qui signifie moins de pipes et de subshells, donc des scripts plus lisibles et performants. C’est pur Fish et ça garde script frais et croustillant.

See Also

Pour creuser, voici des liens :