2017-10-10 81 views
-1

到分离我有一个CSV文件是这样的:CSV由空格分隔由逗号在终端

$ head file.csv 
22.87333333 22.87333333 
22.87944444 89.84361111 
22.89722222 89.8425 

我想将它传送到逗号使用终端分离。喜欢这个;

$ head file.csv 
22.87333333,22.87333333 
22.87944444,89.84361111 
22.89722222,89.8425 

什么是这样做的方法呢?

+0

[与另一个字符的字符串替换一些字符](HTTPS的可能的复制:// stackoverflow.com/questions/2871181/replacing-some-characters-in-a-string-with-another-character) – hnefatl

+0

你为自己尝试了什么?向我们展示即使他们足智多谋的努力 – Inian

回答

1

桑达具有音译命令,y

$ sed 'y/ /,/' file.csv 
22.87333333,22.87333333 
22.87944444,89.84361111 
22.89722222,89.8425 
1

假设你的文件实际上是空间分割的值,这sed命令:

$ sed -i 's/ /,/g' file.csv 

将就地(-i)用逗号替换的空间每次出现时(g lobally),使用ssubstitute command

0

只需使用TR(平移)命令

tr " " "," <file 

AWK等效

$ awk '{OFS=","; $1=$1}1' file 

输出:

22.87333333,22.87333333 
22.87944444,89.84361111 
22.89722222,89.8425 
1

而一个AWK溶液,以及:

$ awk -v OFS=',' '{$1=$1}1' file.csv