sed 置換が一致する入力が多すぎます

sed 置換が一致する入力が多すぎます

これが私の命令です:

echo "Test" | sed -f <(sed -e 's/.*/s,&,gI/' mydic)  

ファイルにはmydicコンマ(,)で区切られた2つの列が含まれています

a,AlphabetA  
.  
.   
.    
e,AlphabetE   
.   
.   
s,AlphabetS  
.   
t,AlphabetT   
test,testedd   
.   
.   
zebra,zebraaaa

期待される結果は ですtesteddが、 が得られますAlphabetTAlphabetEAlphabetSAlphabetT

答え1

echo Test |sed -f <(sed 's/\(.*\),\(.*\)/s,\\<\1\\>,\2,gI/' mydic)

\<そして\>それぞれ単語の始まりと終わりを示します。

答え2

「e」を「AlphabetE」に置き換えるように指示しましたが、これは正しく実行されました。単語全体のみを考慮するつもりだったのではないでしょうか。

これを試して:

echo "test" | sed -f <(sed -e 's/.*/s,\\<&\\>,gI/' mydic)

編集: 実際にケースの問題に対処していたことに気づきました。

関連情報