我有一个文件包含以下形式的记录:
SMS-MT-FSM-DEL-REP
country: IN
1280363645.979354_PFS_1_1887728354
SMS-MT-FSM-DEL-REP
country: IN
1280363645.729309_PFS_1_1084296392
SMS-MO-FSM
country: IR
1280105721.484103_PFM_1_1187616097
SMS-MO-FSM
country: MO
1280105721.461090_PFM_1_882824215
Run Code Online (Sandbox Code Playgroud)
这有助于通过awk解析使用类似于:awk'BEGIN {FS ="\n"; RS =""}/country:.*MO/{print $ 0}'
我的问题是如何使用awk搜索2个不同字段的记录?例如,我只想打印出具有MO国家和第一行记录的记录是SMS-MO-FSM?
如果您设置了 FS="\n" 和 RS="",则第一个字段 $1 将是 SMS-MO-FSM。因此你的 awk 代码是
awk 'BEGIN{FS="\n"; RS=""} $2~/country.*MO/ && $1~/SMS-MO-FSM/ ' file
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7110 次 |
| 最近记录: |