用sed替换/追加子串

时间:2011-04-09 15:14:25

标签: linux sed

我想请你帮忙!

问题是:

我有一个代码: <h1....>text</h1>

我想做一个结果: <h1 ....><a name="Snumber">text</a></h1>其中S是字符,number是变量整数。

我的问题,我不知道,如何在行的开头进行非修复,我怎么能使用正则表达式呢? 提前谢谢!

1 个答案:

答案 0 :(得分:0)

如果我明白你的要求,那么这样的话会在bash中对你有用:

str='<h1 class="a">text</h1>' # this is your original string
ch='S' # this is your character
n='56789' # this is your number
echo "${str}<${ch}${n}>" | \
  sed 's#\(<h1[^>]*>\)\([^<]*\)\(</h1>\)<\([^>]*\)>#\1<a name="\4">\2</a>\3#'

OUTPUT:
<h1 class="a"><a name="G56789">text</a></h1>

对不起,如果我有任何误解,那么我很乐意删除我的答案。