Menu

Organiser fichier sip.conf [Résolu/Fermé]

the_wasp - 28 avril 2017 à 16:00 - Dernière réponse : zipe31 35715 Messages postés dimanche 7 novembre 2010Date d'inscriptionContributeurStatut 21 juillet 2018 Dernière intervention
- 29 avril 2017 à 11:15
Bonjour,

Je suis actuellement en projet informatique dans mon BTS et je souhaite créer une interface web de configuration pour astérisk (ajout/suppression d'utilisateur et affichage des utilisateurs déja existant). Ce que je souhaite donc est de récupérer le contenu du fichier sip.conf et en extraire le numéro, l'utilisateur et le context.

J'ai donc réussi à récupérer ces informations, ce que je veux voudrais c'est organiser le fichier (de sortie) pour que ça m'affiche quelque chose comme : utilisateur, numéro, context

mon fichier sip.conf

[general]
port=5060
 bindaddr=0.0.0.0
disallow=all
allow=alaw
allow=ulaw
language=fr
canreinvite=no
allowguest=yes

[102]
 type=friend
host=dynamic
port=5060
user=utilisateur1
context=interne
language=fr

[103]
 type=friend
host=dynamic
port=5060
user=utliisateur2
context=interne
language=fr


[104]
 type=friend
host=dynamic
port=5060
user=utliisateur3
context=interne
language=fr

[105]
 type=friend
host=dynamic
port=5060
user=utliisateur5
context=externe
language=fr


Mon fichier de sortie actuel (abonne.txt)

[102]
[103]
[104]
[105]
context=interne
context=interne
context=interne
context=externe




Merci d'avance
Afficher la suite 

3 réponses

zipe31 35715 Messages postés dimanche 7 novembre 2010Date d'inscriptionContributeurStatut 21 juillet 2018 Dernière intervention - 28 avril 2017 à 19:00
0
Merci
Salut,

Une solution (un peu tirée par les cheveux) parmi d'autres…

En partant de ton fichier spip.conf :

$ sed -n '/\[[[:digit:]]\|user\|context/p' spip.conf | sed -n 's/[][]//g;h;n;s/.*=//;G;h;n;s/.*=//;H;g;s/\n/,/g;p'
utilisateur1,102,interne
utliisateur2,103,interne
utliisateur3,104,interne
utliisateur5,105,externe

0
Merci
Merci beaucoup pour ta réponse aussi rapide. c'est exactement ce que je voulais faire ^^
zipe31 35715 Messages postés dimanche 7 novembre 2010Date d'inscriptionContributeurStatut 21 juillet 2018 Dernière intervention - 29 avril 2017 à 11:15
De rien.

Tiens, une version plus optimisée :

#n

/\[[[:digit:]]/{
s/[][]//g
h
:z
n

/user=\|context=/! {
b z
}

/user=/{
s///
G
h
b z
}

/context=/{
s///
H
}

/^$\|$/{
g
s/\n/,/g
p
}
b
}


À mettre dans un fichier (script.sed) et à appeler comme ça :

 
sed -f script.sed spip.conf