sed替换两个字符串之间的文本

时间:2019-06-12 01:34:02

标签: awk sed

我要替换文件中的主机ID,并且每个文件中的主机ID不同,因此我必须替换标签<hostid></hostid>之间的内容,每个文件只有一个一<hostid>

<hostid>71342-231VMKDK-47WW-03dMV6</hostid>

 <hostid>xxxx-yyyyy-zzz-uuu-bb</hostid>

我确实尝试了类似以下的方法,但该方法不起作用

sed -i "" -e :a -e 's/\(hostid>[X]*\)[^X]\(.*<\)/\1\something\</;ta' 

1 个答案:

答案 0 :(得分:1)

请您尝试以下。

sed '/hostid/s/>.*</>xxxx-yyyyy-zzz-uuu-b</'  Input_file

如果您想将输出保存到Input_file自身中,同时备份Input_file,则将sed更改为sed -i.bak ...