在逗号之间用引号引起来,但不要在数字之间加引号

用户名

因此,我在文件中有一些文本几乎代表CSV格式,但不完全代表。我想将其转换为CSV文件。

我有例如:

cuz,0,1,2,3,-4,abc,a b c,0

我怎样才能变成

"cuz",0,1,2,3,-4,"abc","a b c",0

任何帮助,将不胜感激!

提前致谢。

罗曼·佩列赫雷斯特

gawk方法:

gawk -i inplace -F, '{for(i=1;i<=NF;i++){ 
      if ($i!~/^-?[0-9]*$/) $i=sprintf("\"%s\"",$i); }}1' OFS=',' file

file内容:

"cuz",0,1,2,3,-4,"abc","a b c",0

-i inplace-允许就地文件修改

$i!~/^-?[0-9]*$/ -仅模式匹配包含除数字以外的字符的字段

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章