替换文件中的空格而不更改字段

时间:2016-04-18 05:58:08

标签: bash shell awk sed whitespace

我有一个包含

等行的CSV文件
5213 , 1395429467 , A , r7.sn-a8au-hp5e.gvt1.com , 4.31.38.18 , 1460706280 , John Doe

我知道如何替换文件中的空格::%s/ //g。它会更改包含空格的整个文件。

我希望最后一个元素$7保留其空格,因此John Doe必须保持John Doe而不是JohnDoe

总之,预期的输出是:

5213,1395429467,A,r7.sn-a8au-hp5e.gvt1.com,4.31.38.18,1460706280,John Doe

有人可以帮我解决这个问题吗?

1 个答案:

答案 0 :(得分:4)

您可能只需要用,替换每个,(即空格+逗号+空格):

sed 's/ , /,/g' file

哪个重演:

5213,1395429467,A,r7.sn-a8au-hp5e.gvt1.com,4.31.38.18,1460706280,John Doe