2010-10-28 152 views

回答

4

您需要的星號更改爲加號:

sed "s/[[:blank:]]\+/ /g" a>b 

或使用,這意味着同樣的東西替代:

sed "s/[[:blank:]][[:blank:]]*/ /g" a>b 

sed "s/[[:blank:]]\{1,\}/ /g" a>b 

此外,它是更有助於發佈錯誤消息或行爲與預期不同的精確方式,因爲「似乎不起作用「傳達的信息很少。

+0

謝謝。我有點分心,無法理解這樣一個事實,即突然間有空間,以前沒有空間。 :) – user490735 2010-10-29 04:31:07

+0

@user:由於'*'匹配* zero *或更多的模式,它可以匹配字符串的開頭和結尾。下面是一個簡單的例子,它將三個字符變成五個:'echo'a'| sed's/a */x/g''。 – 2010-10-29 04:36:32

+0

我第一次嘗試的時候,如果我沒有記錯,sed「s/[[:blank:]] \ +// g」a> b – user490735 2010-10-30 06:38:41