使用SED从由key = value对组成的类CSV文件中提取值

查理·邦杜兰特

输入文件:

Test1=169930;Testing2=240;Tester3=403;Tests4=RCFL2PKN;

需要获得如下输出:

169930;240;403;RCFL2PKN;

试图这样做:

sed 's/(([A-Z][a-z]+)[=](^[0-9]+)[^;])//g'

没有返回任何错误,但是输出文件没有任何反应。

请帮忙。

罗斯兰·奥斯曼诺夫(Ruslan Osmanov)
sed 's/[^=]\+=\([^;]\+;\?\)/\1/g' file

基本的正则表达式语法,你应该写\+\(\)和,\?而不是+(),和?相应。如果您觉得此语法不方便,则可以使用扩展语法

sed -r 's/[^=]+=([^;]+;?)/\1/g' file

基本和扩展正则表达式的唯一区别是在几个字符的行为:?+,括号和括号({}

如果要就地修改文件,请使用-i选项。如果要将结果输出到另一个文件中,请使用I / O重定向:

sed -r 's/[^=]+=([^;]+;?)/\1/g' file > outfile

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章