ManagedElement=1,Transport=1,Router={{TAG_OAM_CMX_LEFT_VR_NAME_TAG}}
no InterfaceIPv4=vlan1.{{TAG_OAM_NET_VLAN_TAG}}
top
ManagedElement=1,Transport=1,Router={{TAG_OAM_CMX_RIGHT_VR_NAME_TAG}}
no InterfaceIPv4=vlan1.{{TAG_OAM_NET_VLAN_TAG}}
commit -s
#
在此文件中,当且仅当行包含时,我才想在开头添加CMX
。因此所需的输出是:
#ManagedElement=1,Transport=1,Router={{TAG_OAM_CMX_LEFT_VR_NAME_TAG}}
no InterfaceIPv4=vlan1.{{TAG_OAM_NET_VLAN_TAG}}
top
#ManagedElement=1,Transport=1,Router={{TAG_OAM_CMX_RIGHT_VR_NAME_TAG}}
no InterfaceIPv4=vlan1.{{TAG_OAM_NET_VLAN_TAG}}
commit -s
答案1
您可以尝试以下操作:
sed -Ei 's/(^.*CMX.*$)/#\1/' your_file_name
它将用^.*CMX.*$
其自身替换包含该内容的行,但在前面加上#
。
这里,替换字符串\1
是括号中整个匹配的字符串。^
表示行首和$
行末。.*
匹配任何字符串(长度为 0 或更长)。
答案2
你可以用以下方法sed
“替换”零宽度^
行首锚点#
s/^/#/
仅在file
该匹配的行中CMX
:
sed -i.bak '/CMX/s/^/#/' file