gpt4 book ai didi

bash - awk 搜索多行记录文件的多个字段

转载 作者:行者123 更新时间:2023-11-29 09:04:26 25 4
gpt4 key购买 nike

我有一个包含以下形式的记录的文件:

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

这有助于通过 awk 使用如下内容进行解析: awk '开始 { 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

关于bash - awk 搜索多行记录文件的多个字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3438762/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com