首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在文件中的字段后提取数据

如何在文件中的字段后提取数据
EN

Unix & Linux用户
提问于 2018-05-30 06:13:25
回答 2查看 67关注 0票数 0

我在一个文件中有以下文本

代码语言:javascript
复制
 "rules": [
        "/Common/Tetration_TCP_L4_ipfix",
        "/Common/_sys_https_redirect"
    ],
    "rulesReference": [
        {
            "link": "https://localhost/mgmt/tm/ltm/rule/~Common~Tetration_TCP_L4_ipfix?ver=12.0.0"
        }

想要提取当前"rules": []内部的任何内容

代码语言:javascript
复制
/Common/Tetration_TCP_L4_ipfix
/Common/_sys_https_redirect

输出应该如下所示

代码语言:javascript
复制
Tetration_TCP_L4_ipfix
_sys_https_redirect

但这也可以是任何东西。

EN

回答 2

Unix & Linux用户

发布于 2018-05-30 06:31:54

如果这是一个格式良好的JSON文件:

代码语言:javascript
复制
$ jq -r '..|select(type=="object" and has("rules")).rules|map(split("/")|.[-1])|.[]' file.json
Tetration_TCP_L4_ipfix
_sys_https_redirect

这将使用jq递归地查找所有具有rules键的JSON对象。对于这些键的所有数组值,它将拆分/上的值并返回它的最后一个组件。

票数 3
EN

Unix & Linux用户

发布于 2018-05-30 06:34:34

使用AWK:

代码语言:javascript
复制
awk -F '[/"]' '/"rules": /,/],/{if(/"rules": |],/) next; print $(NF-1)}' file.txt
票数 3
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/446832

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档