Shell - modifier les enrgts d'un fichier txt

macealwi Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -  
jipicy Messages postés 40842 Date d'inscription   Statut Modérateur Dernière intervention   -
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 21331 Date d'inscription   Statut Modérateur, Contributeur sécurité Dernière intervention   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 40842 Date d'inscription   Statut Modérateur Dernière intervention   4 896
 
Salut,

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