2014-04-09 63 views
0

我想要放入每个字符串的大写字母E infront。 我使用sed很重要。sed:单个字符串之间的字符串

这样

(260,'\"$40 a Day\"',2002,'Color','USA','','2000100002',131,6.1,'2002-04-24') 

成为

(260,E'\"$40 a Day\"',2002,E'Color',E'USA',E'',E'2000100002',131,6.1,E'2002-04-24') 

我已经试过

sed "s/'.*'/E&/g" 

但只把第一个字符串的E-盈!

祺金

+0

我看你的字符串可以包含转义双引号。他们是否保证不包含逃脱的单引号? – John1024

回答

1

*贪婪匹配从第一单引号匹配一路到最后一个。试试这个:

sed "s/'[^']*'/E&/g" 

由于John1024警告以上,如果允许转义单引号,这将不起作用。

1

另一个sed

sed "s/,'/,E'/g" 
相关问题