Substitution SED

Fermé
patnob95 Messages postés 2 Date d'inscription mercredi 1 juillet 2009 Statut Membre Dernière intervention 1 juillet 2009 - 1 juil. 2009 à 14:46
jipicy Messages postés 40842 Date d'inscription jeudi 28 août 2003 Statut Modérateur Dernière intervention 10 août 2020 - 1 juil. 2009 à 18:24
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
A voir également:

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.
0
patnob95 Messages postés 2 Date d'inscription mercredi 1 juillet 2009 Statut Membre Dernière intervention 1 juillet 2009
1 juil. 2009 à 16:03
En fait c'est pour ecrire un script sur un serveur windows sur lequel fonctionne sed, mais pas awk.
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 894
1 juil. 2009 à 18:24
Salut,

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