CSV用空格分隔,用终端中的逗号分隔

时间:2017-10-10 18:24:07

标签: csv awk terminal grep

我有一个像这样的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

这样做的方法是什么?

4 个答案:

答案 0 :(得分:1)

假设您的文件实际上是以空格分隔的值,请使用sed命令:

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

将使用ssubstitute command替换(-i)以逗号替换每个匹配的空格(g)。

答案 1 :(得分:1)

Sed有一个音译命令y

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

答案 2 :(得分:1)

还有 awk 解决方案:

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

答案 3 :(得分:0)

只需使用 tr (翻译)命令

即可
tr " " "," <file 

awk 等效

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

<强>输出:

22.87333333,22.87333333
22.87944444,89.84361111
22.89722222,89.8425