Modifier la deuxieme chaine d'un fichier
vincentdes
Messages postés
1
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Salut !
Info : je suis novice en python et j'utilise la version 2.7.5
Voila mon probleme, j'aimerais modifier la deuxieme ligne de mon fichier.
Dans ce fichier de conf, j'ai 3 fois la meme ligne mais dans 3 groupe differents.
Exemple du fichier de conf :
[groupe1]
mon adresse est: 1.1.1.1
[groupe2]
mon adresse est: 1.1.1.1
[groupe3]
mon adresse est: 1.1.1.1
exemple :
[groupe1]
mon adresse est: 1.1.1.1
[groupe2]
mon adresse est: 2.2.2.2
[groupe3]
mon adresse est: 1.1.1.1
j'aimerais modifier seuleument le 1.1.1.1 par 2.2.2.2 du groupe [groupe2]
J'ai essayé de le faire en Sed, ca ne marche que pour modifier toutes les adresses mais si je dois prendre en compte les groupe ca devient compliqué.
exemple :
Comme programme en pyhton je n'ai pu que faire ceci qui fais exactement la meme chose que la commande sed :
je ne sais pas si je suis bon au niveau du code mais surtout je ne sais pas coment intégrer les groupe
Merci d'avance pour vos réponses
Info : je suis novice en python et j'utilise la version 2.7.5
Voila mon probleme, j'aimerais modifier la deuxieme ligne de mon fichier.
Dans ce fichier de conf, j'ai 3 fois la meme ligne mais dans 3 groupe differents.
Exemple du fichier de conf :
[groupe1]
mon adresse est: 1.1.1.1
[groupe2]
mon adresse est: 1.1.1.1
[groupe3]
mon adresse est: 1.1.1.1
exemple :
[groupe1]
mon adresse est: 1.1.1.1
[groupe2]
mon adresse est: 2.2.2.2
[groupe3]
mon adresse est: 1.1.1.1
j'aimerais modifier seuleument le 1.1.1.1 par 2.2.2.2 du groupe [groupe2]
J'ai essayé de le faire en Sed, ca ne marche que pour modifier toutes les adresses mais si je dois prendre en compte les groupe ca devient compliqué.
exemple :
sed -i.bak '/mon adresse est/ s/3.3.3.3/4.4.4.4/g' /etc/test.conf
Comme programme en pyhton je n'ai pu que faire ceci qui fais exactement la meme chose que la commande sed :
def change_ldap(fic_path, address):
f = open(fic_path, "a+")
for l in f:
print(l[0:8])
if l[0:8] == "mon adresse":
l = "mon adresse est: " + address + ":50001"
f.write(l)
f.close()
break
je ne sais pas si je suis bon au niveau du code mais surtout je ne sais pas coment intégrer les groupe
Merci d'avance pour vos réponses
A voir également:
- Modifier la deuxieme chaine d'un fichier
- Comment réduire la taille d'un fichier - Guide
- Fichier bin - Guide
- Modifier dns - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
1 réponse
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour,
1° merci d'utiliser la coloration syntaxique quand tu partages du code
2° si tu devais expliquer à quelqu'un comment faire le travail à la main, sans ordi, que lui expliquerais-tu? je pense que tu pourras ensuite t'en inspirer pour programmer.
1° merci d'utiliser la coloration syntaxique quand tu partages du code
2° si tu devais expliquer à quelqu'un comment faire le travail à la main, sans ordi, que lui expliquerais-tu? je pense que tu pourras ensuite t'en inspirer pour programmer.