Shell - modifier les enrgts d'un fichier txt

Fermé
macealwi Messages postés 1 Date d'inscription samedi 7 avril 2007 Statut Membre Dernière intervention 7 avril 2007 - 7 avril 2007 à 13:06
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 7 avril 2007 à 13:20
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 jeudi 4 novembre 2004 Statut Modérateur, Contributeur sécurité Dernière intervention 30 octobre 2019 3 569
7 avril 2007 à 13:19
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 jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 4 897
7 avril 2007 à 13:20
Salut,

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