sed / awk如何添加到匹配的字符串

时间:2012-05-01 12:20:08

标签: bash sed awk

我的文本文件包含如下所述的行

<property>PASSWORD_X_1</property>
<property>PASSWORD_A_2</property>
<property>PASSWORD_B_6</property>
等等......

现在我希望将这些行更改为:

<property>{PASSWORD_X_1}</property>
<property>{PASSWORD_A_2}</property>
<property>{PASSWORD_B_6}</property>

我可以使用简单的sed表达式更改初始“{”:

sed -e '/PASSWORD/{PASSWORD/g'

无法弄清楚如何附加“}”字符。

有什么建议吗??

Ĵ

4 个答案:

答案 0 :(得分:2)

sed -e 's/PASSWORD_[A-Z]_[0-9]/{&}/'

易于修改!

答案 1 :(得分:2)

这应该有效:

awk -F"<|>" '{ print "<" $2 ">{" $3 "}<" $4 ">" }' file.text

答案 2 :(得分:0)

这可能对您有用:

sed 's/PASSWORD[^<]*/{&}/' file

答案 3 :(得分:0)

awk '{sub(">P",">{P") sub("</","}</");}1' file