Retirer les guillemets d'une chaîne

Bash:
Retirer les guillemets d'une chaîne

Comment faire :

Bash offre plusieurs façons de retirer les guillemets des chaînes. Voici quelques exemples rapides :

#!/bin/bash

# Utiliser la substitution de variable pour retirer à la fois les guillemets simples et doubles
STRING="\"Bonjour, Monde !\""
echo ${STRING//\"}

# Utiliser `tr` pour supprimer les guillemets
STRING="'Bonjour, Monde !'"
echo $STRING | tr -d "\'"

# Utiliser `sed` pour supprimer les guillemets
STRING="\"Bonjour, Monde !\""
echo $STRING | sed 's/"//g'

Exemple de sortie :

Bonjour, Monde !
Bonjour, Monde !
Bonjour, Monde !

Exploration approfondie

Il fut un temps, les commandes Unix comme tr et sed étaient les principaux outils pour le traitement de texte. Ils sont encore utilisés aujourd’hui pour leur flexibilité et leur puissance dans la gestion des transformations de texte, comme la suppression de guillemets. Ils sont un élément essentiel dans la boîte à outils de tout scripteur de shell.

Bash lui-même a depuis évolué et la substitution de variable ajoute une couche de simplicité pour les manipulations de chaînes à petite échelle. Cela vous évite de passer par des binaires externes, rendant vos scripts un peu plus efficaces.

Alors que tr est excellent pour supprimer des caractères, il ne gère pas des motifs plus complexes. Sed, d’autre part, utilise des expressions régulières, donc c’est parfois exagéré et pourrait être plus lent pour des opérations simples.

Le choix entre ces méthodes dépend de votre cas spécifique. Si vous avez besoin de retirer une variété de guillemets et que vous êtes déjà dans le contexte d’un script Bash, utiliser la substitution de variable est une évidence pour sa simplicité. Mais si vous transformez des flux de texte ou des données multi-lignes, tr et sed sont vos amis privilégiés.

Voir également :