【发布时间】:2016-05-14 19:38:21
【问题描述】:
我需要在 Unix 系统中解析 .conf 文件才能得到以下粗体内容:
[sub_suffix-324]
; generated by mod_identity
exten => int,1,GoSub(mdc_template-3,s,1)
exten => int,n(next_380),Return()
; default action for busy
exten => ext,1,GoSub(mdc_template-3,s,1)
exten => ext,n,Set(PRI_CAUSE=17)
exten => ext,n,HangUp(17)
exten => ext,n(back),Return()
输出到另一个文件后(不确定我们是否可以直接这样做)如下:
[sub_suffix-324]
exten => int,1,GoSub(mdc_template-3,s,1)
exten => ext,1,GoSub(mdc_template-3,s,1)
我需要依赖这个输出来生成下面的格式,我的意思是如果我们找到了
模板-3
然后在一个条件下使用,看看有没有
int 或 ext
在同一行,如果条件为真则输出是:
分机 int_voicemail ext_voicemail
324 是的
我试图使用 awk 命令,但没有运气如何继续:D
#!/usr/bin/awk -f
/^\[sub_suffix-/ {
print $0
next
}
/mdc_template/ {
flag=1
x=$0
next
}
提示:该文件包含多次出现此 sn-p,因此输出将是 csv 文件格式!!。
任何帮助表示赞赏! 谢谢
【问题讨论】:
-
最好不要修改问题的输入,但还要准确显示输出应该是什么样的 - 以及你的 awk 命令是什么样的。
-
准确的输入、期望的输出以及输出背后的原理都不清楚。
-
您唯一声明的要求是
Since the yes under int/ext_voicemail determined if the bold content corresponding to each one(int,ext) exist if not set to No.,不幸的是这在英语中没有任何意义。请编辑您的问题以尽可能澄清并包括简洁的示例输入和预期输出。