Organiser fichier sip.conf [Résolu]

the_wasp - 28 avril 2017 à 16:00 - Dernière réponse : zipe31 35174 Messages postés dimanche 7 novembre 2010Date d'inscriptionContributeurStatut 11 décembre 2017 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

Répondre au sujet
zipe31 35174 Messages postés dimanche 7 novembre 2010Date d'inscriptionContributeurStatut 11 décembre 2017 Dernière intervention - 28 avril 2017 à 19:00
0
Utile
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

Commenter la réponse de zipe31
0
Utile
1
Merci beaucoup pour ta réponse aussi rapide. c'est exactement ce que je voulais faire ^^
zipe31 35174 Messages postés dimanche 7 novembre 2010Date d'inscriptionContributeurStatut 11 décembre 2017 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
 
Commenter la réponse de the_wasp