2012-05-16 208 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