![在最后一个字母后插入逗号](https://linux22.com/image/59269/%E5%9C%A8%E6%9C%80%E5%90%8E%E4%B8%80%E4%B8%AA%E5%AD%97%E6%AF%8D%E5%90%8E%E6%8F%92%E5%85%A5%E9%80%97%E5%8F%B7.png)
我使用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