【发布时间】:2015-01-21 20:15:27
【问题描述】:
此行来自汽车数据集 (https://archive.ics.uci.edu/ml/datasets/Auto+MPG) 看起来像这样:
15.0 8. 429.0 198.0 4341. 10.0 70. 1. "ford galaxie 500"
如何用一个逗号替换多个空格(它有空格和制表符),但不在引号内,最好使用 sed,将数据集转换为真正的 csv。谢谢!
【问题讨论】:
-
你已经尝试了什么失败了?
-
我试过了,$ sed 's/[^"] [^"]//g' data/auto-mpg.data-original $ sed 's/[^"][ \t] [^"]/,/g' 数据/auto-mpg.data-original $ sed 's/[^"][ \t]*[^"]/,/g' 数据/auto-mpg.data-original $ sed 's/[^"][ \t][^"]/,/g' 数据/auto-mpg.data-original $ sed 's/[ \t]/,/g;s/,,, //g' data/auto-mpg.data $ sed 's/[ \t]/,/g' data/auto-mpg.data $ perl -pe 's/"(.+?[^\])" /($ret = $1) =~ (s#,##g); $ret/ge' data/auto-mpg.data $ sed 's/(.*"),/\1 /' data/auto-mpg.data $ sed 's/(.*\"),/\1 /g' 数据/auto-mpg.data-commad