Este é o meu comando:
echo "Test" | sed -f <(sed -e 's/.*/s,&,gI/' mydic)
O arquivo mydic
contém 2 colunas delimitadas por vírgulas ( ,
)
a,AlphabetA
.
.
.
e,AlphabetE
.
.
s,AlphabetS
.
t,AlphabetT
test,testedd
.
.
zebra,zebraaaa
O resultado esperado é testedd
, mas eu entendo AlphabetTAlphabetEAlphabetSAlphabetT
.
Responder1
echo Test |sed -f <(sed 's/\(.*\),\(.*\)/s,\\<\1\\>,\2,gI/' mydic)
\<e\>indicar o início e o fim de uma palavra, respectivamente.
Responder2
Você pediu para substituir "e" por "AlphabetE", o que foi feito corretamente. Eu suspeito que você pretendia considerar apenas palavras inteiras.
Experimente isto:
echo "test" | sed -f <(sed -e 's/.*/s,\\<&\\>,gI/' mydic)
Editar: percebi que você de fato lidou com a questão do caso.