Voici l'extrait d'un script d'un script plus important. Il supprime les guillemets de la chaîne de caractères qui est maintenue par une variable. Je le fais en utilisant sed, mais est-ce efficace ? Si non, quelle est la méthode efficace ?
#!/bin/sh
opt="\"html\\test\\\""
temp=`echo $opt | sed 's/.\(.*\)/\1/' | sed 's/\(.*\)./\1/'`
echo $temp
0 votes
Je suggère d'utiliser
sed "s/^\(\"\)\(.*\)\1\$/\2/g" <<<"$opt"
. Cette syntaxe ne supprime les qoutes que lorsqu'il existe une paire correspondante.0 votes
@JohnSmith Je dois également échapper automatiquement aux guillemets dans un shell script, mais je dois le faire qu'ils correspondent ou non, donc je n'utiliserai probablement pas l'expression que vous avez postée.
0 votes
Si vous avez trouvé cette question en voulant simplement supprimer toutes les citations, voyez cette réponse : askubuntu.com/a/979964/103498 .