* 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
