Changer la chaîne de caractères à l'index X
Je me suis cherché pendant longtemps comment faire une simple manipulation de la chaîne dans UNIX
J'ai cette chaîne:
theStr='...............'
Et j'ai besoin de changer la 5ème char à Un, Comment peut-il être fait?
Dans C#
comme ceci theStr[4] = 'A'; //Zero based index.
source d'informationauteur gdoron
Vous devez vous connecter pour publier un commentaire.
Vous pouvez réaliser cela avec
sed
le flux de la ligne de l'éditeur:echo $theStr | sed s/./A/5
D'abord vous rediriger la sortie de $theStr à sed, qui remplace le cinquième caractère avec A.
Ici est un vraiment bon tutoriel sur la manipulation de la chaîne.
Je ne sais pas si c'est élégant, ou la version de bash vous avez besoin, mais
La première partie revient quatre premiers caractères, le caractère 'A', et puis tous les caractères à partir de la 6ème un
La sed de commande ci-dessus remplace la 8 caractère n'importe ce qu'il est, par conséquent, vous n'avez pas à spécifier le caractère est d'être remplacé.
Dans le code ci-dessus, vous n'avez qu'à remplacer
Donc, pour votre exemple, il devient:
Pour ne pas mentionner que vous pouvez remplacer Une avec une chaîne en fournissant la chaîne au lieu de B ou de simplement supprimer Un en ne fournissant pas d'endroit où B est (
\1\2
)