2016-04-13 6 views
1

私はKornシェルを使用するUNIXシステムを使用しています。私はUNIXの初心者です。ここで私は何をしたいです:Unixのkshは変数の最後の2文字目を置換します

var1=user/[email protected] 

私はいつもそれが重要な場合Mこと、およびOにそれを変更し、及びこれを保存する最後の文字にのみ第二を交換したいと思いますそれを新しい変数に追加します。

ので、新しい変数が含まれています:

var2=user/[email protected] 

答えて

1

sedでこれを試してみてください:var2var1を更新格納するための

sed 's/M\(.$\)/O\1/'

完全なソリューション:

var2=`echo $var1 | sed 's/M\(.$\)/O\1/'` 

Eをxplanation:sedを使用して、コマンド:s/<find>/<replace>/を置き換えます。 $がEOLであるM.$パターンを検索するので、最後から2文字目になります。その後、M文字(エスケープされたかっこ - sedキャプチャグループのエスケープする必要があります)の後で残りをキャプチャし、Mの後ろにO文字と残りの文字に置き換えます - キャプチャしたもの(特殊参照\1 - キャプチャしたグループ#1)。

+0

お返事ありがとうございました。もっと重要なのは、やっていることの説明です! – John