【问题标题】:sip.conf configuration file - add new line to each recordsip.conf 配置文件 - 为每条记录添加新行
【发布时间】:2012-08-23 21:06:09
【问题描述】:

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

谢谢

【问题讨论】:

    标签: php python ruby regex linux


    【解决方案1】:

    在我的文本编辑器中将 (\[(\d+)][^\[]+) 替换为 \1vmexten=\2\n 有效

    【讨论】:

      【解决方案2】:

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

      【讨论】:

      • 请注意,这会产生与 OP 要求的输出略有不同的输出,vmexten 在该部分的顶部而不是底部。不过这应该没关系。
      • @Eric:正确,但这绝对是最好的方法,我真的不认为这有多大关系。
      猜你喜欢
      • 2022-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-01-06
      • 2011-03-20
      • 2017-04-14
      • 2021-08-15
      • 1970-01-01
      相关资源
      最近更新 更多