Modifier la deuxieme chaine d'un fichier

Fermé
vincentdes Messages postés 1 Date d'inscription vendredi 13 juillet 2018 Statut Membre Dernière intervention 13 juillet 2018 - 13 juil. 2018 à 11:46
yg_be Messages postés 23349 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 novembre 2024 - 15 juil. 2018 à 15:02
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 :

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:

1 réponse

yg_be Messages postés 23349 Date d'inscription lundi 9 juin 2008 Statut Contributeur Dernière intervention 26 novembre 2024 Ambassadeur 1 554
15 juil. 2018 à 15:02
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.
0