输入文件:
Test1=169930;Testing2=240;Tester3=403;Tests4=RCFL2PKN;
需要获得如下输出:
169930;240;403;RCFL2PKN;
试图这样做:
sed 's/(([A-Z][a-z]+)[=](^[0-9]+)[^;])//g'
没有返回任何错误,但是输出文件没有任何反应。
请帮忙。
sed 's/[^=]\+=\([^;]\+;\?\)/\1/g' file
在基本的正则表达式语法,你应该写\+
,\(
,\)
和,\?
而不是+
,(
,)
,和?
相应。如果您觉得此语法不方便,则可以使用扩展语法:
sed -r 's/[^=]+=([^;]+;?)/\1/g' file
基本和扩展正则表达式的唯一区别是在几个字符的行为:
?
,+
,括号和括号({}
)
如果要就地修改文件,请使用-i
选项。如果要将结果输出到另一个文件中,请使用I / O重定向:
sed -r 's/[^=]+=([^;]+;?)/\1/g' file > outfile
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句