2012-05-16 280 views
1

我有一個CSV文件,每個逗號後都有一個空格。我希望每個逗號後刪除空間,我嘗試類似:刪除空格後的所有逗號

sed -e 's/ ,/,/g' local.csv > localNoSpaces.csv 

但這只是消除了對每行第一個逗號後面的空格。如何刪除所有逗號後的空格?

謝謝。

+1

之前或之後? –

+0

之後,我有uudated問題。謝謝。 – dublintech

回答

4

以防萬一的空格不是空格,但可以使用製表符和空格

sed -e 's/\s\+,/,/g' local.csv > localNoSpaces.csv 

或者如果它們是每個逗號使用

sed -e 's/,\s\+/,/g' local.csv > localNoSpaces.csv 
2

你的正則表達式刪除逗號前的空間,而不是後:

sed -e 's/, /,/g' local.csv > localNoSpaces.csv 

如果可以有一個以上的空間,使用+量詞:

sed -e 's/, \+/,/g' local.csv > localNoSpaces.csv 
+0

謝謝。但是如果我有一個逗號後跟多個空格呢? – dublintech

+0

@dublintech:我已經更新了我的答案。 –

+0

@dublintech:如果有更多的空白只是使用's /,[] \ + /,/ g' – dwalter