Substitution SED [Fermé]

Signaler
Messages postés
2
Date d'inscription
mercredi 1 juillet 2009
Statut
Membre
Dernière intervention
1 juillet 2009
-
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
-
Bonjour,

J'ai un fichier TXT, donc les enregistrements sont de longeur fixe de format: abcdefghijklmnopqrstu...
Je souhaite inverser les caractères en position 8,9,10 avec les caractères en position 14,15,16, et inverser les caractères en position 12,13 avec les caractères en position 17,18.De plus il faudrat que j'ajoute en col 8 la valeur 2 et en position 21 le texte 'ESSAI'

Est-il possible de faire cela avec sed, et si oui je vous remercie de votre aide

2 réponses

Et avec AWK ?

Une commande du genre :
gawk ' { print substr($0,1,7),substr($0,14,3) } ' /home/toto/monfichier.txt

Je n'ai mis que le début.
Messages postés
2
Date d'inscription
mercredi 1 juillet 2009
Statut
Membre
Dernière intervention
1 juillet 2009

En fait c'est pour ecrire un script sur un serveur windows sur lequel fonctionne sed, mais pas awk.
Messages postés
40805
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 855
Salut,

Essaies ça :
sed 's/\(.\{7\}\)\(...\)\(.\)\(..\)\(...\)\(..\)\(..\)\(.*\)/\12\5\3\6\2\4\7ESSAI\8/'
;-))