2013-06-18 57 views
0

我需要更換裏面的雙引號的每個空間的變量:如何更換空間內雙引號

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

現在我不得不更換空間(可能不止一個的行)「這是我的問題「與'[[:space]] +'。我的shell是busybox。最簡單的方法是什麼?

謝謝。

+1

查看'sed'命令。 –

+0

我已經嘗試了sed沒有成功的幾件事情。 –

+1

你可以發佈你已經嘗試過嗎? –

回答

0

試試這個:echo $var | sed -re 's|.*("[^"]*").*|\1|g' | sed -re 's|\s|[[:space:]]+|g'。第一個sed是額外的雙引號部分,第二個sed是將雙引號內的空格變成[[:space:]] +。

PS。如果從一開始就把所有的註釋放到原來的問題中,你可以節省兩個小時:)

+0

thx。但它不起作用: ''[machine]/var#echo $ var | sed's |。*(「[^」]「)。* | \ 1 | g'| sed's | \ s | [[:space:]] + | g' 」This [[:space :]] +是[[:空間:]] +我的[[:空間:]] +問題「[[:空間:]] +,但[[:空間:]] +不是[[:空間:]] +你的 ' –

+0

在[^「]後忘記放*。現在修復。 –

+0

thx再次。有用。我的問題現在就解決了。 –