2

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

助けてくれてありがとう

4

3 に答える 3

1

使用できますsed

result="$(sed "s|\($number\)|<font color='red'><b>\1</b></font>|" <<< "$string")"

一般的な形式は次のとおりです。sed s|search pattern|replace|where|は一意の区切り文字です (通常は/使用しますが、他の目的で文字列で既に使用されています)。ヒットをキャプチャ\(…\)するキャプチャ グループ4です。この場合は、 を介して置換文字列で使用できます\1

于 2013-06-26T22:39:11.323 に答える
0
echo "$string" | sed "s#\(,\|^\)\($number\)\(,\|\$\)#\\1<font color='red'><b>\\2</b></font>\\3#g"

ほとんどの場合、十分に機能するはずです。

于 2013-06-26T22:40:44.050 に答える