sed:单引号之间的字符串

时间:2014-04-09 05:41:19

标签: sed

我想在每个字符串前面放一个大写字母E. 我使用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!

关心Kim

2 个答案:

答案 0 :(得分:1)

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

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

正如John1024上面所警告的那样,如果允许使用转义的单引号,这将无效。

答案 1 :(得分:1)

另一个sed

sed "s/,'/,E'/g"