Je voudrais exécuter ce qui suit dans une ligne: qui prend les 15 premiers caractères d'une chaîne seulement et remplace les espaces avec des traits de soulignement. J'ai essayé: p> mais il dit mauvaise substitution code>. Qu'est-ce qui ne va pas? P> P>
3 Réponses :
avec GNU SED: sortie: p>
Vous ne pouvez pas effectuer de substitution variable sur quelque chose qui n'est pas une variable.
var="String with spaces inside we want to remove." var=${var:0:15} echo "${var// /_}"
Votre commande de substitution double variable fonctionnera avec zsh code>, mais pas
bash code>:
var = "$ (écho" chaîne avec des espaces à l'intérieur, nous voulons supprimer. "| CUT -C1-15 | TR" "" _ ")" code>?
La vie est trop courte pour s'inquiéter de cela ;-). Pourquoi pas
var = $ (écho "chaîne avec des espaces à l'intérieur, nous voulons supprimer." | Couper -c1-15); echo "$ {var // / _}" code> (notez le
; code>). Bonne chance.