我安装了Asterisk并且我有文件users.conf
我想创建一个可以list the usernames and their SIP number
用户列在文件中,如下所示:
[6001]
type=friend
host=dynamic
dtmfmode=rfc2833
disallow=all
allow=ulaw
fullname = John DOE
username = jdoe
secret=secret
context = work
答案 0 :(得分:0)
你可以使用一些简单的正则表达式:
grep -E '\[[0-9]+\]|username' users.conf
这个输出好吗?您也可以在没有括号或username = part的情况下列出这些。如果您需要更多帮助,请添加评论
答案 1 :(得分:0)
使用
asterisk -rx "sip show users"
之后如果需要使用sed命令重写输出。
答案 2 :(得分:0)
sed '/^\[/h;/^username/!d;G;s/.*= *\(.*\)\n.\(.*\)\]/\1: \2/' users.conf
/^\[/h
- 以[
(SIP号码)开头的复制行以保留空格。/^username/!d
- 如果行不以username
开头,请将其删除并转到下一行。
否则(用户名行):G
- 将保留空间(保留SIP号码)附加到用户名行。s/.*= *\(.*\)\n.\(.*\)\]/\1: \2/
- 从组合行中提取用户名和编号,并以所需的输出格式重新组合。