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

Répondre à