Remplacer parametres dans une ligne avec Sed
Résolu
asylum35
Messages postés
6
Date d'inscription
Statut
Membre
Dernière intervention
-
asylum35 Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
asylum35 Messages postés 6 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
Dans le but d' automatiser un test, je dois paramétrer un fichier de configuration.
On y retrouve des paramètres de vitesses, d'accélérations, etc...
Je dois plus précisément remplacer 4 valeurs sur cette ligne:
Test1 1 1 2000 2000 1200 1200 700 700 70 70 300 300 300 300 1 2 1 0 0 -1075 -575 1610 -1575 1289 950 950 1 1200 0 0 0 0 0 0 0 0 0 900 1292 1 1 1 1
Ces 4 valeurs correspondent à : accAVide accCharge decVide decCharge
Au lancement du programme de test, une fenêtre demande de rentrer les accélérations AV et AR ( %acceleration% et %deceleration% )
Quelle commande sed, dois je utiliser selon vous pour remplacer:
les 2 valeurs accAvide et accCharge --> %acceleration%
les 2 valeurs decVide et decCharge --> %deceleration%
Merci d'avance
Dans le but d' automatiser un test, je dois paramétrer un fichier de configuration.
On y retrouve des paramètres de vitesses, d'accélérations, etc...
Je dois plus précisément remplacer 4 valeurs sur cette ligne:
Test1 1 1 2000 2000 1200 1200 700 700 70 70 300 300 300 300 1 2 1 0 0 -1075 -575 1610 -1575 1289 950 950 1 1200 0 0 0 0 0 0 0 0 0 900 1292 1 1 1 1
Ces 4 valeurs correspondent à : accAVide accCharge decVide decCharge
Au lancement du programme de test, une fenêtre demande de rentrer les accélérations AV et AR ( %acceleration% et %deceleration% )
Quelle commande sed, dois je utiliser selon vous pour remplacer:
les 2 valeurs accAvide et accCharge --> %acceleration%
les 2 valeurs decVide et decCharge --> %deceleration%
Merci d'avance
A voir également:
- Remplacer parametres dans une ligne avec Sed
- Partager photos en ligne - Guide
- Parametres de mon ordinateur - Guide
- Remplacer disque dur par ssd - Guide
- Remplacer dans word - Guide
- Paramètres dns - Guide
2 réponses
Salut,
;-))
$ cat plop Test1 1 1 2000 2000 1200 1200 700 700 70 70 300 300 300 300 1 2 1 0 0 -1075 -575 1610 -1575 1289 950 950 1 1200 0 0 0 0 0 0 0 0 0 900 1292 1 1 1 1 $ sed 's/[^ ]*/TOTO/12;s/[^ ]*/TATA/13;s/[^ ]*/TITI/14;s/[^ ]*/TUTU/15' plop Test1 1 1 2000 2000 1200 1200 700 700 70 70 TOTO TATA TITI TUTU 1 2 1 0 0 -1075 -575 1610 -1575 1289 950 950 1 1200 0 0 0 0 0 0 0 0 0 900 1292 1 1 1 1 $
;-))
hello
$ cat a1 Test1 1 1 2000 2000 1200 1200 700 700 70 70 300 300 300 300 1 2 1 0 0 -1075 -575 1610 -1575 1289 950 950 1 1200 0 0 0 0 0 0 0 0 0 900 1292 1 1 1 1 $ acceleration="111 222" $ deceleration="333 444" $ awk -v var="$acceleration $deceleration" '{split(var,a) ; for(n=1;n<5;n++)$(n+11)=a[n] ; print}' a1 Test1 1 1 2000 2000 1200 1200 700 700 70 70 111 222 333 444 1 2 1 0 0 -1075 -575 1610 -1575 1289 950 950 1 1200 0 0 0 0 0 0 0 0 0 900 1292 1 1 1 1 $
J'aimerais que ce remplacement s'effectue à la ligne 12 du fichier.
J'ai rajouté 12 devant sed, mais ça ne fonctionne pas.
Une idée, encore une fois? :-)
Merci
du coup voilà mon script:
mais voila ce que j'ai dans mon fichier à la ligne 12:
Test1 1 1 2000 1200 2000 1200 300 500 50 50 $acceleration $acceleration $deceleration $deceleration ....
pas moyen de recuperer les valeurs !
Merci encore pour tes reponses rapides!
bonne fin de journée