Este es mi comando:
echo "Test" | sed -f <(sed -e 's/.*/s,&,gI/' mydic)
El archivo mydic
contiene 2 columnas delimitadas por comas ( ,
)
a,AlphabetA
.
.
.
e,AlphabetE
.
.
s,AlphabetS
.
t,AlphabetT
test,testedd
.
.
zebra,zebraaaa
El resultado esperado es testedd
, pero lo obtengo AlphabetTAlphabetEAlphabetSAlphabetT
.
Respuesta1
echo Test |sed -f <(sed 's/\(.*\),\(.*\)/s,\\<\1\\>,\2,gI/' mydic)
\<y\>indican el inicio y el final de una palabra, respectivamente.
Respuesta2
Le pidió que reemplazara "e" con "AlphabetE", lo cual se hizo correctamente. Sospecho que lo que querías decir era considerar solo palabras completas.
Prueba esto:
echo "test" | sed -f <(sed -e 's/.*/s,\\<&\\>,gI/' mydic)
Editar: noté que, de hecho, habías abordado el tema del caso.