Organiser fichier sip.conf

Résolu
the_wasp -  
sondes_0060 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention   -
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

2 réponses

zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
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

1
sondes_0060 Messages postés 1 Date d'inscription   Statut Membre Dernière intervention  
 

bonjour  @zipe31 vous pouvez m'aider sur la configuration de l'interface web 

merci

0
the_wasp
 
Merci beaucoup pour ta réponse aussi rapide. c'est exactement ce que je voulais faire ^^
0
zipe31 Messages postés 36402 Date d'inscription   Statut Contributeur Dernière intervention   6 431
 
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
 
0