查找{}的sed正则表达式,忽略其中的字符串
在查找{}的sed正则表达式,忽略其中的字符串,sed,Sed,在text文件(在linux系统上)中,我有以下字符串: O\WIN\u Infrastructur{Windows Fabrik}\FIM{Forefront Identity Manager(Benutzer)}\EXTRA{} 现在,我想替换O\WIN\u infrastructur{Windows Fabrik},但我不知道{}中有什么。它可以是空的,也可以是文本 我尝试过这个,但没有成功: sed-e's/O\\WIN\u基础设施{[a-zA-Z0-9]}/O\\WIFI{}/g' 结
text
文件(在linux系统上)中,我有以下字符串:
O\WIN\u Infrastructur{Windows Fabrik}\FIM{Forefront Identity Manager(Benutzer)}\EXTRA{}
现在,我想替换O\WIN\u infrastructur{Windows Fabrik}
,但我不知道{}
中有什么。它可以是空的,也可以是文本
我尝试过这个,但没有成功:
sed-e's/O\\WIN\u基础设施{[a-zA-Z0-9]}/O\\WIFI{}/g'
结果必然是:
O\WIFI{}\FIM{Forefront Identity Manager(Benutzer)}\EXTRA{}
有人能帮我吗 使用定界符作为模式的结尾,这里是
}
,因此请使用一个类来排除此项,使用[^}]*}
sed -e 's/O\\WIN_INFRASTRUKTUR{[^}]*}/O\\WIFI{}/g' YourFile
sed-e's/WIN_Infrastructur{[^}]*}/WIFI{}/g'
谢谢,它会成功的,但如果我想得到这个结果,那是什么呢:
O\WIFI{}\EXTRA{}.
我这样做没关系:
sed -e 's/O\\WIN_INFRASTRUKTUR{[^}]*}\\FIM{[^}]*}/O\\WIFI{}/g'
然后我只得到这个结果:
O\WIFI{}
您不需要在结果中替换0\因为您希望它。谢谢,它会成功的,但是,如果我想得到这个结果:删除g
选项a最后,只有一次出现(还有更多吗?)我需要在最后替换g,因为文件中有更多