小编use*_*391的帖子

使用sed删除括号内的重复数字

我试图使用sed删除括号内的重复数字.

所以我有以下字符串:

Abdc 1234 1234 (5678) (5678) (9012) (9012) (3456)
Run Code Online (Sandbox Code Playgroud)

我想用sed删除括号内的任何4位数字,包括括号.所以我的字符串应如下所示:

Abdc 1234 1234 (5678) (9012) (3456)
Run Code Online (Sandbox Code Playgroud)

在这种情况下,"(5678)"和"(9012)"被删除,因为它们是重复括号内的4位数字."1234"号码未删除,因为它们不在括号内."(3456)"未被删除,因为它没有重复.

sed

3
推荐指数
1
解决办法
641
查看次数

在jq get数组中基于另一个数组

我正在使用jq v1.5.鉴于输入:

{
    "mine": [
        "foo",
        "baz"
    ],
    "stuff": {
        "foo": {
            "name": "Foo"
        },
        "bar": {
            "name": "Bar"
        },
        "baz": {
            "name": "Baz"
        },
        "qux": {
            "name": "Qux"
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

如何获取.mine的所有.stuff.name

例如,期望的输出:

[
    "Baz",
    "Foo"
]
Run Code Online (Sandbox Code Playgroud)

arrays iteration bash json jq

3
推荐指数
1
解决办法
55
查看次数

删除两个分隔符之间的字符串,包括

在bash脚本中,有什么实用工具以及如何在两个字符串之间删除文本,包括stings.

原文:

(ABC blah1)blah 2(def blah 5)blah 7)(DEF blah 8)blah 9
Run Code Online (Sandbox Code Playgroud)

我想删除'(def'和下一个')'之间的所有文本.所以我想要的输出是:

(ABC blah1)blah 2blah 7)blah 9
Run Code Online (Sandbox Code Playgroud)

最好让搜索不区分大小写...在上面的例子中,它找到并删除'(def ...)'和'(DEF ...)'

我试过了:

echo "(ABC blah1)blah 2(def blah 5)blah 7)(DEF blah 8)blah 9" | sed 's/(def.*)//gI'
Run Code Online (Sandbox Code Playgroud)

但输出是:

(ABC blah1)blah 2blah 9
Run Code Online (Sandbox Code Playgroud)

我认为这是因为'.*'在sed中是贪婪的.

我有什么想法可以格式化我的sed搜索字符串?甚至是最好的工具吗?我从一个bash脚本运行它,所以任何基本的util都可以通过bash来实现.

bash sed

2
推荐指数
1
解决办法
2911
查看次数

如何在JQ中展平多维数组

我有以下 JSON:

{
  "accounts": [
    {
      "group": 1,
      "users": [
        {
          "name": "John",
          "id": 1
        },
        {
          "name": "Jane",
          "id": 2
        }
      ]
    },
    {
      "group": 2,
      "users": [
        {
          "name": "Bob",
          "id": 3
        },
        {
          "name": "Mary",
          "id": 3
        }
      ]
    }
  ]
}
Run Code Online (Sandbox Code Playgroud)

我希望输出看起来像这样:

{
  "accounts": [
    {
      "group": 1,
      "name": "John",
      "id": 1
    },
    {
      "group": 1,
      "name": "Jane",
      "id": 2
    },
    {
      "group": 2,
      "name": "Bob",
      "id": 3
    },
    {
      "group": 2,
      "name": "Mary",
      "id": 3 …
Run Code Online (Sandbox Code Playgroud)

json jq

2
推荐指数
1
解决办法
55
查看次数

标签 统计

bash ×2

jq ×2

json ×2

sed ×2

arrays ×1

iteration ×1