在最后一个字母后插入逗号

在最后一个字母后插入逗号

我使用txt文件,我需要将其转换为csv文件

Saint Petersburg      0     10    0.1   -   N
Moscow                -     9       0   -   N
Novgorod              0     7       1   30  Y

在 bash 中,如何在最后一个字母后以及每个数字或“-”后插入逗号

例如

Saint Petersburg,      0,     10,    0.1,   -,  N
Moscow,                -,     9,       0,   -,  N
Novgorod,              0,     7,       1,   30, Y

最好的

答案1

这将通过命令替换 2 个或更多空格的序列,并且相同的空格减去一个:

sed 's/ \( \+\)/,\1/g' file.txt

如果列之间只有一个空格,则会失败。


如果您只想", "作为字段分隔符:

sed 's/ \{2,\}/, /g' file

相关内容