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

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

これは私のコマンドです:

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

ファイルには、カンマ()で区切られたmydic2つの列が含まれています。,

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)

編集:実際にケースの質問を解決したことが確認されました。

関連情報