2013-06-18 2 views
0

내가 변수에 쌍 따옴표 내부의 모든 공간을 교체 할 필요가 쌍 따옴표 :공간을 교체하는 방법 내부

VAR='"this is my problem" but not yours' 

지금은에 (행에 하나 이상있을 수 있습니다) 공간을 교체해야 "이것이 내 문제는 '[[: space]] +'와 함께 나타납니다. 내 셸은 busybox입니다. 가장 간단한 방법은 무엇입니까?

감사합니다.

+1

'sed' 명령을 찾으십시오. –

+0

나는 성공하지 못한 채로 여러 가지를 시도했다. –

+1

시도한 것을 게시 할 수 있습니까? –

답변

0

시험해보십시오. echo $var | sed -re 's|.*("[^"]*").*|\1|g' | sed -re 's|\s|[[:space:]]+|g'. 첫 번째 sed는 큰 따옴표 부분을 추가하는 것입니다. 두 번째 sed는 큰 따옴표 안의 공백을 [[: space :]] +로 바꾸는 것입니다.

추신. 처음부터 질문에 모든 내용을 넣으면 2 시간을 절약 할 수 있습니다.

+0

thx. 하지만 작동하지 않습니다 : '[machine]/var # echo $ var | "이 [[: 공간 (": 공간 :]) "sed의 | s * :]] + [[: space :]] + 내 [[: space :]] + 문제 "[[: space :]] +하지만 [[: space :]] + [[: space :]] + 너' –

+0

[^ "] 뒤에 *를 넣는 것을 잊어 버렸습니다. 이제 해결되었습니다. –

+0

thx again. 그것은 작동합니다. 내 문제는 지금 해결된다. –