我有这样一个摇摇欲坠的CSV文件
"asdf",,,"asdf","asdf"asdf"
我想把逗号转换成标签(出于个人原因)。
我希望做这样的事:
perl -ne 's/",+"/\t/g && print'
预期产出为
"asdf[tab][tab][tab]asdf[tab]asdf"asdf"
但这只会用多个逗号替换一个选项卡,我需要有3个逗号。是否有方法计算其中一个存在量词(+或*)中的匹配数,并使用它来确定我应该打印多少制表符
我可以处理开头和结尾的引号,除非有人想把它们扔到一边。
发布于 2015-07-28 21:44:48
发布于 2015-07-28 22:35:37
这将用一个选项卡替换所有逗号,因为您使用的是,+
,并要求它在一次执行中匹配所有逗号。
你的代码:
perl -ne 's/",+"/\t/g && print'
问题是"+“。它需要多种不同的
我把它改成:
perl -ne 's/,/\t/g && print'
而且效果很好:
"asdf" "asdf" "asdf "asdf"
https://stackoverflow.com/questions/31687612
复制相似问题