Reperer des informations pour en changer certaines
Résolu/Fermé
th.deudon
Messages postés
399
Date d'inscription
mardi 2 juillet 2013
Statut
Membre
Dernière intervention
30 juillet 2015
-
Modifié par th.deudon le 22/07/2013 à 13:51
th.deudon Messages postés 399 Date d'inscription mardi 2 juillet 2013 Statut Membre Dernière intervention 30 juillet 2015 - 30 juil. 2013 à 09:10
th.deudon Messages postés 399 Date d'inscription mardi 2 juillet 2013 Statut Membre Dernière intervention 30 juillet 2015 - 30 juil. 2013 à 09:10
A voir également:
- Reperer des informations pour en changer certaines
- Changer dns - Guide
- Changer clavier qwerty en azerty - Guide
- Entrer les informations d'identification reseau - Guide
- Changer carte graphique - Guide
- Changer extension fichier - Guide
5 réponses
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 419
23 juil. 2013 à 10:22
23 juil. 2013 à 10:22
Salut,
Pour ton 1er problème, ceci devrait faire l'affaire :
Quant au second :
Pour ton 1er problème, ceci devrait faire l'affaire :
sed '0,/^BlaBla/ s//BleBle/' fichier
Quant au second :
$ ls f1 f2 foo.sh $ cat f1 AFEAG ZFF a <Name = "Entity.ID.Entity" Value = ABC2 /> informations a ne pas changer <Name= "LocalisationX " Value = X /> ..... AFEAG ZFF a <Name = "Entity.ID.Entity" Value = ABC3 /> informations a ne pas changer <Name= "LocalisationX " Value = X /> ..... $ cat f2 ABC2 X2 Y2 Z2 ABC3 X3 Y3 Z3 $ cat foo.sh #! /bin/bash while read nom param reste do sed -i '/<Name = "Entity.ID.Entity" Value = '"${nom}"'/{n;n;s/\(Value = \)[^ ]*/\1'"${param}"'/}' f1 done < f2 $ ./foo.sh $ cat f1 AFEAG ZFF a <Name = "Entity.ID.Entity" Value = ABC2 /> informations a ne pas changer <Name= "LocalisationX " Value = X2 /> ..... AFEAG ZFF a <Name = "Entity.ID.Entity" Value = ABC3 /> informations a ne pas changer <Name= "LocalisationX " Value = X3 /> ..... $
th.deudon
Messages postés
399
Date d'inscription
mardi 2 juillet 2013
Statut
Membre
Dernière intervention
30 juillet 2015
15
22 juil. 2013 à 13:54
22 juil. 2013 à 13:54
je ne sais pas si ca peut aider, mais j'ai facilement eu le premier fichier ( celui du premier probleme ) avec deux fois la ligne avec Blabla, suffit juste d'en changer 1 sur 2 en fait :)
th.deudon
Messages postés
399
Date d'inscription
mardi 2 juillet 2013
Statut
Membre
Dernière intervention
30 juillet 2015
15
Modifié par th.deudon le 22/07/2013 à 15:43
Modifié par th.deudon le 22/07/2013 à 15:43
Ps : j'ai meme reussi a mettre le BlaBla a changer en premier.. :)
du coup faut juste changer le premier BlaBla avant le premier . du fichier en BleBle
en gros j'ai
BlaBla.fzefz ezfze zefze zef
BlaBla.fzad azf ze z ezf ze
AEZFe zefZEF ZEFZE
et je veux
BleBle.fzefz ezfze zefze zef
BlaBla.fzad azf ze z ezf ze
AEZFe zefZEF ZEFZE
du coup faut juste changer le premier BlaBla avant le premier . du fichier en BleBle
en gros j'ai
BlaBla.fzefz ezfze zefze zef
BlaBla.fzad azf ze z ezf ze
AEZFe zefZEF ZEFZE
et je veux
BleBle.fzefz ezfze zefze zef
BlaBla.fzad azf ze z ezf ze
AEZFe zefZEF ZEFZE
th.deudon
Messages postés
399
Date d'inscription
mardi 2 juillet 2013
Statut
Membre
Dernière intervention
30 juillet 2015
15
23 juil. 2013 à 09:02
23 juil. 2013 à 09:02
premier probleme résolu, j'ai split toutes les chaines et j'ai fait print "BleBle" $2 $3....
le deuxieme par contre me pose une bonne colle :/
le deuxieme par contre me pose une bonne colle :/
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
th.deudon
Messages postés
399
Date d'inscription
mardi 2 juillet 2013
Statut
Membre
Dernière intervention
30 juillet 2015
15
29 juil. 2013 à 14:05
29 juil. 2013 à 14:05
Raaaah j'ai un soucis :(((((
En fait y a un deuxieme bloc nom2 tout en bas, et il faut lui changer certaines infos, au lieu de changer
faut lui changer
soucis : a cause de l'ancienne ligne de code, ben il a plus de nom, j'ai
au lieu de
En fait y a un deuxieme bloc nom2 tout en bas, et il faut lui changer certaines infos, au lieu de changer
<Field Name= "Localisation.X " Value = "x4" /> <Field Name= "Localisation.Y " Value = "y4" /> <Field Name= "Localisation.Z " Value = "z4" /> ....... <Field Name= "Orientation.A" Value = "a4" /> <Field Name= "Orientation.B" Value = "b4" /> <Field Name= "Orientation.C" Value = "c4" />
faut lui changer
<Field Name= "Syst.Localisation.X " Value = "x4" /> <Field Name= "Syst.Localisation.Y " Value = "y4" /> <Field Name= "Syst.Localisation.Z " Value = "z4" />
soucis : a cause de l'ancienne ligne de code, ben il a plus de nom, j'ai
<Field Name="Entity.ID.Entity" Value="" />
au lieu de
<Field Name="Entity.ID.Entity" Value="Nom2" />
dubcek
Messages postés
18758
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
24 décembre 2024
5 623
30 juil. 2013 à 08:19
30 juil. 2013 à 08:19
avec quel code ?
th.deudon
Messages postés
399
Date d'inscription
mardi 2 juillet 2013
Statut
Membre
Dernière intervention
30 juillet 2015
15
30 juil. 2013 à 08:45
30 juil. 2013 à 08:45
la ligne awk 'NR==FNR {t[++n]=$0; next} /ZOub/ {split($0, a); for(m=1; m<=n; m++){$0=t[m]; if(/Field Name/ && /Entity.ID|Localisat|Orienta/){if(/Entity/){f=1}; sub("Value[ ]*=[ ]*\"[^\"]*", "Value=" "\"" a[f++])}; print}}' fichier3 fichier2 , mais finalement je vais essayer par sub ;) j'ai eu cette idée ce matin, je test
th.deudon
Messages postés
399
Date d'inscription
mardi 2 juillet 2013
Statut
Membre
Dernière intervention
30 juillet 2015
15
30 juil. 2013 à 09:10
30 juil. 2013 à 09:10
Bim bim bim, un petit SED bien placé, et une deuxieme utilisation de ta commande et hop le tour est joué :)
Merci beaucoup dubcek
Merci beaucoup dubcek
Modifié par th.deudon le 23/07/2013 à 10:30
comment je fais pour changer les parametres et le $i a mettre ? pour dire que le nom est en $1?
:)
je me suis mal exprimmé, les Y, Z etc seront utilisés apres le X ;)
23 juil. 2013 à 10:39
Tout le problème est là !
Je te l'ai déjà dit :
- Exemple concret AVANT => APRÈS
- Un maximum de détails
- etc.
Modifié par th.deudon le 23/07/2013 à 11:19
les données inutiles : ....
fichier 1 :
fichier 2 :
pour chaque ligne j'ai : nom X Y Z A B C ( sous cette forme )
fichier voulu :
EDIT : si il y n'y a pas tous les Zoubis dans le fichier 1 ( sachant qu'il y en a forcement au moins 1 ), il faudrait en créer pour que chaque Zoubi ait son bloc ( ils sont tous identiques pour les Zoubis , sauf X,Y,Z,A,B,C ) .... désolé, complication de derniere minute
le bloc commence avec < PeriodicEvent> et finit avec </ PeriodicEvent>
23 juil. 2013 à 11:08
D'où l'importance de nous donner des exemples proches de la réalité et de bien expliquer ce que tu veux.
Là par exemple, c'est bien tu nous donnes un exemple AVANT à peu près conforme, mais APRÈS tu veux quoi ?
Modifié par th.deudon le 23/07/2013 à 11:46
Dubcek, lui, il est devin :)
je l'ai fait bout par bout afin de voir avec recul
ps : avec ta commande de base j'ai sed -e ( alors que j'ai mis -i mais passons .. ) underminated s command