Shell - modifier les enrgts d'un fichier txt

macealwi Messages postés 1 Statut Membre -  
jipicy Messages postés 41342 Statut Modérateur -
Bonjour tout le monde,

Peut être quelqu 'un peut-il m'aider.

Je cherche avec un script shell à modifier tous les enregistrements d'un fichier texte en substituant les caractères de la position 5 à la position 8 par la chaîne de caractères MAG.

Ex:

0123TXTGF1
0124SXTGF2
0125UXTHF3

-> doit donner

0123MAGGF1
0124MAGGF2
0125MAGHF3

Je vous remercie d'avance pour vos idées.

macealwi

2 réponses

lami20j Messages postés 21644 Statut Modérateur, Contributeur sécurité 3 570
 
Salut,
lami20j@debian:~/trash$ cat txt
0123TXTGF1
0124SXTGF2
0125UXTHF3
lami20j@debian:~/trash$ sed -i.orig 's/\(....\)...\(.*\)/\1MAG\2/' txt
lami20j@debian:~/trash$ cat txt
0123MAGGF1
0124MAGGF2
0125MAGHF3
lami20j@debian:~/trash$ cat txt.orig
0123TXTGF1
0124SXTGF2
0125UXTHF3
0
jipicy Messages postés 41342 Statut Modérateur 4 896
 
Salut,

Avec "sed" c'est faisable :
sed 's/\(^.\{4\}\)\(.\{3\}\)\(.*\)$/\1MAG\3/'
;-))
0