C'est bon, j'ai trouvé tout seul. Le problème vient du caractère ^M du fichier dos. du coup, la solution devient:
dos2unix monfichier.txt sed 's/,$//' monfichier.txt laurent Tzacos a écrit : > Salut, > > j'essaye de modifier un fichier avec SED. > Ce fichier est en fait un CSV généré par le client d'une application > sous windows. Le fichier est en texte avec une virgule comme séparateur > de champ. malheureusement, chaque ligne se termine par une virgule. > Comme ce fichier doit être chargé dans u ne base de donnée postgresql > via une commande COPY, il n'accepte pas la virgule de fin de ligne. > > Pour modifier le fichier j'utilise SED: > > sed 's/,$//' nom_du_fichier.txt > > Mais ça ne donne aucun résultat, le fichier résultant est identique. Il > n'y a donc pas eu de modif. > J'ai utilisé vim pour vérifier l'expression en utilisant: :s/,$//g, mais > ca ne modifie que la ligne en cours, pas le fichier complet comme il se > devrait. > > Quelqu'un a une idée et peut il me l'exposer? > > laurent > > _________________________________ > Linux mailing list > [email protected] > http://lists.parinux.org/mailman/listinfo/linux > > > _________________________________ Linux mailing list [email protected] http://lists.parinux.org/mailman/listinfo/linux
