Author: serge rouveyrol Date: To: Frédéric Mantegazza CC: guilde Subject: Re: Remplacements de caractères indexés
Frédéric Mantegazza a écrit : > Bonsoir,
>
> Un de mes cousins se casse les dents sur le problème suivant :
>
> Dans un fichier, il voudrait, pour chaque ligne (= un enregistrement),
> remplacer les caractères aux position 19, 20, 21 et 22 par 4 autres
> caractères. Il ne dispose que de shell, sed, awk, et perl (pas de python,
> ce serait trop simple !).
>
> Je ne me souviens plus assez de perl pour faire ça, mais je suis certain
> que c'est faisable. Si quelqu'un pouvait rafraichir ma mémoire...
>
> Sinon, est-ce également possible avec sed ou awk ? Je n'ai rien trouvé dans
> les docs qui permette de *remplacer* (sed ne prend que des expressions
> régulières, et on n'a juste trouvé comment 'extraire' la chaîne, avec
> substr, mais pas comment la remplacer).
>
> Merci d'avance.
>
> echo 012345678901234567890123456789 | perl -ne '@l=split //,$_; $l[19]=W
; $l[20]=X ; $l[21]=Y ; $l[22]=Z; for (@l) {print $_} '