Signaler

Organiser fichier sip.conf [Résolu]

Posez votre question the_wasp - Dernière réponse le 29 avril 2017 à 11:15 par zipe31
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
Utile
+0
plus moins
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

Donnez votre avis
Utile
+0
plus moins
Merci beaucoup pour ta réponse aussi rapide. c'est exactement ce que je voulais faire ^^
zipe31 35040Messages postés dimanche 7 novembre 2010Date d'inscription ContributeurStatut 8 octobre 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
 
Répondre
Donnez votre avis

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes.

Le fait d'être membre vous permet d'avoir des options supplémentaires.

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !