sed:单个QOUTE之间的字符串

sed:单个QOUTE之间的字符串,sed,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 关于K

我想在每根绳子前面加一个大写字母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,贪婪的匹配是从第一个单引号一直匹配到最后一个引号。请尝试以下方法:

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

正如上面John1024警告的那样,如果允许转义单引号,这将不起作用。

另一个
sed

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

我发现字符串可以包含转义双引号。它们是否保证不包含转义单引号?