sip.conf配置文件 - 为每条记录添加新行

时间:2012-08-29 09:31:44

标签: php python ruby regex linux

我有一个sip配置文件,如下所示:

[1664]
username=1664
mailbox=1664@8360
host=192.168.254.3
type=friend
subscribemwi=no
[1679]
username=1679
mailbox=1679@8360
host=192.168.254.3
type=friend
subscribemwi=no
[1700]
username=1700
mailbox=1700@8360
host=192.168.254.3
type=friend
subscribemwi=no
[1701]
username=1701
mailbox=1701@8360
host=192.168.254.3
type=friend
subscribemwi=no

对于每条记录,我需要添加另一行( vmxten 为每条记录),例如上面的内容变为:

[1664]
username=1664
mailbox=1664@8360
host=192.168.254.3
type=friend
subscribemwi=no
vmexten=1664
[1679]
username=1679
mailbox=1679@8360
host=192.168.254.3
type=friend
subscribemwi=no
vmexten=1679
[1700]
username=1700
mailbox=1700@8360
host=192.168.254.3
type=friend
subscribemwi=no
vmexten=1700
[1701]
username=1701
mailbox=1701@8360
host=192.168.254.3
type=friend
subscribemwi=no
vmexten=1701

你会说最快的方法是什么?文件中有数百条记录,因此手动修改所有记录需要很长时间。

你会使用正则表达式吗?你会用sed吗?我很想知道你将如何处理这个问题。

由于

2 个答案:

答案 0 :(得分:1)

只需与^\[(\d+)\]匹配,然后替换为[\1]\r\nvmexten=\1。不确定python / ruby​​是否使用\1$1。但我相信你会明白的。

答案 1 :(得分:1)

使用(\[(\d+)][^\[]+)替换\1vmexten=\2\n可在我的文本编辑器

中使用