列出用户的用户名和SIP号码星号



我已经安装了Asterisk,我有文件users.conf
我想创建一个可以list the usernames and their SIP number的shell脚本

文件中列出了用户,如下所示:

[6001]              
type=friend          
host=dynamic            
dtmfmode=rfc2833        
disallow=all            
allow=ulaw          
fullname = John DOE      
username = jdoe         
secret=secret           
context = work  

你可以为此使用一些简单的正则表达式:

grep -E '[[0-9]+]|username' users.conf

这个输出可以吗?您也可以列出这些不带括号或用户名 = 部分。如果您需要更多帮助,请添加评论

使用

 asterisk -rx "sip show users"

之后,如果需要,请使用 sed 命令重写输出。

sed '/^[/h;/^username/!d;G;s/.*= *(.*)n.(.*)]/1: 2/' users.conf
  • /^[/h - 复制以[(SIP 号码)开头的行以保存空间。
  • /^username/!d - 如果行不以username开头,请将其删除并转到下一步。否则(用户名行):
  • G - 将保留空间(保存 SIP 号码)附加到用户名行。
  • s/.*= *(.*)n.(.*)]/1: 2/ - 从组合行中提取用户名和号码,并以所需的输出格式重新组合它们。

相关内容

  • 没有找到相关文章

最新更新