0

我有一个 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吗?我很想知道你将如何解决这个问题。

谢谢

4

2 回答 2

1

只需匹配^\[(\d+)\]并替换为[\1]\r\nvmexten=\1. 不确定 python/ruby 是否使用\1$1. 但我相信你会弄清楚的。

于 2012-08-29T09:37:46.563 回答
1

(\[(\d+)][^\[]+)\1vmexten=\2\n我的文本编辑器中的作品替换

于 2012-08-29T09:42:34.730 回答