匹配开头,替换一整行
change = [1.0, 2.0, 3.0]
# 替换后的字符串
change_str = "objectStorage_fileStorage_coefficient = {}".format(change[0])
# sed -i 插入修改, /^匹配头, 然后 /c替换后的串
cmd = r"sed -i '/^objectStorage_fileStorage_coefficient/c{}' {}".format(\
change_str, "/etc/cluster-manager/cluster-manager_copy.conf")
print(cmd)
val = os.system(cmd)
print(val)
匹配某行,在下一行添加
匹配某行含有[phxkv.global]
,在下一行添加
这里有个注意点,千万不要写成sed -i '/[phxkv.global]/a\{}' {}
,因为这样就会触发正则匹配,导致有0个或者1个phxkv.global的行匹配,也就相当于匹配了所有行
cmd = "sed -i '/phxkv.global/a\{}' {}".format(change_str, config_file)