Prends un langage moderne comme python, tu le fais en très peu de ligne Pour changer un caractère uniquement dans la partie 161 - 210 from string import * file_in=open ("monfichierentree","r") for Line in file_in.readlines(): print Line[:160]+replace(Line[160:210],"'","Nouveau Car")+Line[210:] Pense à rediriger la sortie :-) Le tutorial est excellent :-) On Tue, 6 Nov 2001 10:02:57 +0100 (CET) Alexandre Dulaunoy <adulau-linux@conostix.com> wrote: > > sed, awk et tr si tu aimes le scripting violent... > > Sinon perl tu peux faire cela en quelques line en perl, du genre : > > open(FILEIN, "monfichierentree"); > open(FILEOUT, ">monsuperfichierdesortie"); > > while(<FILEIN>) > { > $chaineatraiter = $_; > # tu peux couper ta chaine comme tu veux avec split, ... sur un offset > # comme tu connais ta taille > $chaineatraiter =~ s/"/X/gm; > print FILEOUT $chaineatraiter; > } > > close (FILEOUT); > close (FILEIN); > > Un bon bouquin : > > http://www.foo.be/docs/Perl_Data_Munging/Cross.pdf (mais je n'ai rien dit > 8-) > > hope this helps > > > alx > > > > -- > --- > Alexandre Dulaunoy > Work : http://www.conostix.com/ adulau@conostix.com > Private : http://www.thinkingsecure.com/ adulau@thinkingsecure.com > > "Liberty is the great parent of science and of virtue; and a nation will > be great in both in proportion as it is free. " T. Jefferson > > > > On Tue, 6 Nov 2001, Gaetan GUYODO wrote: > > > Salut, > > j'ai besoin de modifier un fichier texte qui contient 40000 lignes (un > > enregistrement par ligne) : > > remplacer toute apostrophe qui se situe entre la colonne 161 et la colonne > > 211 (entre le 161eme et le 211eme caractère, si vous préférez). > > qqn peut me dire comment faire ? > > je sais, ce n'est pas la première fois que je pose ce genre de questions, il > > faut que je me mette à apprendre un peu plus pour pouvoir faire ce genre de > > trucs simples moi-même... > > d'ailleurs, quel howto ou quel livre ou quel site web me conseillez vous pour > > apprendre ce genre de trucs ? > > > > Gaetan > > > > > > [ Soyez précis dans vos sujets svp afin de déterminer directement ] > > [ le type de demande... ] > > [ Pour vous (dés)inscrire, aller sur http://unixtech.be/ml.php ] > > [ Archives de la mailing list: http://archives.unixtech.be/linux/ ] > > [ http://unixtech.be Contact: listmaster@unixtech.be ] > > > > > [ Soyez précis dans vos sujets svp afin de déterminer directement ] > [ le type de demande... ] > [ Pour vous (dés)inscrire, aller sur http://unixtech.be/ml.php ] > [ Archives de la mailing list: http://archives.unixtech.be/linux/ ] > [ http://unixtech.be Contact: listmaster@unixtech.be ]
Attachment:
pgp00844.pgp
Description: PGP signature