* Tzacos [26/09/2008 15:07] :
>
> 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.

Sed affiche le résultat de la modification mais ne change pas le fichier
d'origine. Pour cela, il faut faire :

sed 's/,$//' nom_du_fichier.txt > nom_du_fichier.new
mv nom_du_fichier.new nom_du_fichier.txt

> 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.

Pour lancer une opération sur plusieurs lignes, il faut donner leur nombre
avant l'opération. On pourrait donc écrire :

:1,$s/,$//g

1 étant le chiffre de la première ligne sur lequelle on veut travailler,
$ étant celui de la dernière ($ est un raccourci vim-esque pour désigner
la dernière ligne d'un fichier)

Il existe le raccourci % pour désigner 1,$. On pourrait donc écrire :

:%s/,$//g

Emmanuel
_________________________________
Linux mailing list
[email protected]
http://lists.parinux.org/mailman/listinfo/linux

Répondre à