
Dies ist mein Befehl:
echo "Test" | sed -f <(sed -e 's/.*/s,&,gI/' mydic)
Die Datei mydic
enthält 2 durch Kommas getrennte Spalten ( ,
)
a,AlphabetA
.
.
.
e,AlphabetE
.
.
s,AlphabetS
.
t,AlphabetT
test,testedd
.
.
zebra,zebraaaa
Das erwartete Ergebnis ist testedd
, aber ich bekomme AlphabetTAlphabetEAlphabetSAlphabetT
.
Antwort1
echo Test |sed -f <(sed 's/\(.*\),\(.*\)/s,\\<\1\\>,\2,gI/' mydic)
\<Und\>geben jeweils den Anfang und das Ende eines Wortes an.
Antwort2
Sie haben darum gebeten, „e“ durch „AlphabetE“ zu ersetzen, was auch richtig gemacht wurde. Ich vermute, Sie wollten nur ganze Wörter berücksichtigen?
Versuche dies:
echo "test" | sed -f <(sed -e 's/.*/s,\\<&\\>,gI/' mydic)
Bearbeiten: Mir ist aufgefallen, dass Sie sich tatsächlich mit dem Fallproblem befasst haben.