Como substituir uma letra de string em alguma posição

1

Suponha que eu queira substituir a enésima letra de alguma string, como posso fazer isso?

Eu tentei algo assim, mas não está correto:

#!/bin/bash
index= # let say 2
s='Hello'
echo ${s/$index/'a'} # This should print Healo
    
por Eng.Fouad 05.10.2011 / 23:49

2 respostas

3

Há um Guia avançado de script de script que mostra como fazer a substring e a concatenação .

Digamos que:

#!/bin/bash
index=2
s=Hello
echo ${s:0:index-1}a${s:index}
    
por 05.10.2011 / 23:58
0

Outra solução com sed :

$ echo "hello" | sed 's/\(.\{2\}\)./a/'
    
por 06.10.2011 / 05:31