Coloque comillas alrededor de cadenas entre comas, pero no de números.

Coloque comillas alrededor de cadenas entre comas, pero no de números.

Tengo algo de texto en un archivo que casi representa el formato CSV, pero no del todo. Sin embargo, quiero convertirlo en un archivo CSV.

Tengo por ejemplo:

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

¿Cómo puedo convertir eso en

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

¡Cualquier ayuda sería apreciada!

Gracias de antemano.

Respuesta1

papar moscasacercarse:

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

Los filecontenidos:

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

-i inplace- permiteen su lugarmodificación de archivos

$i!~/^-?[0-9]*$/- campo de coincidencia de patrón únicamente que contiene caracteres excepto números

información relacionada