Bonjour à tous,
J’aimerais faire appel à vos talents pour résoudre une problématique que j’ai actuellement.
Je travaille sur Une machine unix et le script dans lequel je souhaite insérer la commande de modifications est en ksh..
Il y’a différents traitements dans ce script et j’aimerais y ajouter une fonctionnalité.
J’ai un fichier composé de plusieurs lignes de longueur fixe 30 caractères
Chaque ligne commence par une lettre suivi d’un chiffre et 2 espaces, ensuite une succession de chiffre et lettre. Exemple
1 2
| A1 91190abc76TEST878 67890U
A2 75150cdc87JEUX767 765896 |
Donc ce que je cherche à faire c’est :
- si la 1er ligne débute par A1 et 2 espaces
Alors si en position 15 j’ai la chaîne TEST
Alors si en position 23 j’ai 3 espace vide
Je remplace cette zone par AIX
J’arrive à récupérer la 1er ligne avec une commande head, les différentes zones de tests avec des cut mais impossible de modifier la ligne avec un sed..
Je pense même que tout doit pouvoir être fait avec un sed mais je n’arrive pas à faire la commande
J’en suis à :
sed -i*«*.save.modif*» -r 1(^A1 (.{14})TEST/
Je sèche pour la suite et indique la position de la modif..
Donc si quelques pouvait m’aider sur le sujet ça serait sympa ..
Merci à vous
Partager