2014-04-09 2 views
0

모든 문자열에 대해 대문자 E를 입력하고 싶습니다. sed를 사용하는 것이 중요합니다.sed : 단일 qoutes 사이의 문자열

이러한

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

내가

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

을 시도했지만 그것은 단지 첫 번째 문자열의 E 뿅을두고

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

가되도록!

감사합니다 김

+0

나는 당신의 문자열을 큰 따옴표를 이스케이프 포함 할 수 있음을 참조하십시오. 이스케이프 된 작은 따옴표를 포함하지 않을 것을 보장합니까? – John1024

답변

1

*의 욕심 매칭은 줄곧 매우 마지막으로 첫 번째 따옴표에서 일치한다. 다음과 같이 대신 시도하십시오 :

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

위의 John1024 경고는 이스케이프 처리 된 작은 따옴표가 허용되는 경우 작동하지 않습니다. 또 다른 sed

1

,

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