a が次のような文字列を取る方法についてのアイデア:
string=1,2,3,4,5
と使用
number=4
置く
<font color='red'><b></b></font>
対応する数の周りにあるため、最終製品は次のようになります。
newstring=1,2,3,<font color='red'><b>4</b></font>,5
助けてくれてありがとう
a が次のような文字列を取る方法についてのアイデア:
string=1,2,3,4,5
と使用
number=4
置く
<font color='red'><b></b></font>
対応する数の周りにあるため、最終製品は次のようになります。
newstring=1,2,3,<font color='red'><b>4</b></font>,5
助けてくれてありがとう
使用できますsed
:
result="$(sed "s|\($number\)|<font color='red'><b>\1</b></font>|" <<< "$string")"
一般的な形式は次のとおりです。sed s|search pattern|replace|
where|
は一意の区切り文字です (通常は/
使用しますが、他の目的で文字列で既に使用されています)。ヒットをキャプチャ\(…\)
するキャプチャ グループ4
です。この場合は、 を介して置換文字列で使用できます\1
。
echo "$string" | sed "s#\(,\|^\)\($number\)\(,\|\$\)#\\1<font color='red'><b>\\2</b></font>\\3#g"
ほとんどの場合、十分に機能するはずです。