Accueil > Divers (et d’été) > Informatique > Scripts et outils maison > Modifier le séparateur d’un fichier CSV
Modifier le séparateur d’un fichier CSV
vendredi 22 janvier 2010, par
#!/bin/sh
cat in.csv | awk '
BEGIN { OLD_FS=","; NEW_FS=";"; FS=OLD_FS; RS="\n"; OFS=""; }
{
        IN="no";
        for(i=1; i<=NF; i++)
        {
           if ( IN == "no" && i > 1 ) printf ("%s", NEW_FS );
           if ( IN == "no" && substr($i, 1, 1) == "\"" ) IN="yes";
           printf( "%s", $i );
           if ( IN == "yes" )
           {
              if( substr($i, length($i), 1)  == "\"" ) IN="no";
              else printf( "%s", OLD_FS );
           }
        }
        printf ( "\n" );
}' > out.csv


