小编pea*_*eak的帖子

如何模拟"锁定"文件(具有写锁定的文件)

我正在尝试调试用户偶尔会锁定他们尝试打开的文件的问题.代码似乎具有正确的异常处理,但用户仍在报告查看错误消息.如何模拟锁定的文件以便我自己调试?

编辑:对于Windows.

windows simulate filelock

17
推荐指数
2
解决办法
6947
查看次数

我可以将字符串变量传递给jq而不是文件吗?

我想在bash中将JSON字符串转换为数组.JSON字符串作为参数传递给bash脚本(它不存在于文件中).

有没有办法在不使用临时文件的情况下实现它?

与此类似:

script.sh

#! /bin/bash
json_data='{"key":"value"}'
jq '.key' $json_data

jq: error: Could not open file {key:value}: No such file or directory
Run Code Online (Sandbox Code Playgroud)

variables bash json input jq

17
推荐指数
6
解决办法
1万
查看次数

jq:按属性分组和键

我有一个对象列表,如下所示:

[
  {
    "ip": "1.1.1.1",
    "component": "name1"
  },
  {
    "ip": "1.1.1.2",
    "component": "name1"
  },
  {
    "ip": "1.1.1.3",
    "component": "name2"
  },
  {
    "ip": "1.1.1.4",
    "component": "name2"
  }
]
Run Code Online (Sandbox Code Playgroud)

现在,我想对组件进行分组和键入,并为每个组件分配一个ips列表:

{
  "name1": [
    "1.1.1.1",
    "1.1.1.2"
  ]
},{
  "name2": [
    "1.1.1.3",
    "1.1.1.4"
  ]
}
Run Code Online (Sandbox Code Playgroud)

grouping json key jq

16
推荐指数
2
解决办法
5468
查看次数

使用jq,将对象数组转换为具有命名键的对象

给定一个json文件格式为:

[
 {
  name : "A",
  value : "1"
 },
 {
  name : "B",
  value : "5"
 },
 {
  name : "E",
  value : "8"
 }
]
Run Code Online (Sandbox Code Playgroud)

我如何使用jq将其转换为这样的东西:

{
 "A" : {
   name : "A",
   value : "1"
 },
 "B" : {
  name : "B",
  value : "5"
 },
 "E" : {
  name : "E",
  value : "8"
 }
}
Run Code Online (Sandbox Code Playgroud)

jq '{(.[].name) : "the name"}' 'myfile.json' 用[] .name键获取一个对象,但如何将对象分配给它?

json key object command-line-interface jq

15
推荐指数
2
解决办法
8044
查看次数

如何顺序打印jq输出

jq用于处理JSON时,由于长JSON对象,我经常会丢失概述.因此,类似的东西jq . | less会很好.然而,虽然上面的工作,漂亮的着色jq已经消失.

是否有另一种方法可以jq逐行读取输出,或逐窗口读取输出,而不会使用完整的JSON对象发送垃圾邮件?

编辑:这对我不起作用:echo '{"hello": "world"}' | jq . | less -C

io command-line pagination jq

14
推荐指数
2
解决办法
3379
查看次数

如何使用jq输出JSONL(每行一个独立的JSON对象)

我的请求听起来微不足道,但我找不到办法.我输入了一个JSON对象数组:

[
    {
        "foo": 1,
        "bar": 2
    },
    {
        "foo": 3,
        "bar": 4
    },
    (...)
]
Run Code Online (Sandbox Code Playgroud)

我想要输出相同的JSONL版本,即每行一个对象,而不是数组:

    { "foo": 1, "bar": 2 }
    { "foo": 3, "bar": 4 }
    (...)
Run Code Online (Sandbox Code Playgroud)

这是一样的使用--compact-output,因为这将保护阵列,并给我:

    [ { "foo": 1, "bar": 2 }, { "foo": 3, "bar": 4 }, (...) ]
Run Code Online (Sandbox Code Playgroud)

先感谢您.

json jq jsonlines

14
推荐指数
2
解决办法
3038
查看次数

撤消意外的hg条带?

我不小心运行了hg strip,并删除了一堆提交.从那以后,我没有在回购中做过任何事情.有没有办法让我恢复这一堆提交,撤消我刚刚运行的hg条带?

mercurial undo revert

14
推荐指数
1
解决办法
4639
查看次数

12
推荐指数
1
解决办法
7751
查看次数

jq:错误:无法添加数字和字符串

我想从 jq 输出下面打印成员和 id 的值:

$ cat test_|jq -r '.[] | select(.name=="AAA") | .'
{
  "name": "AAA",
  "members": 10,
  "profiles": 0,
  "templates": 0,
  "ldapGroups": 0,
  "ldapMembers": 0,
  "id": "20"
}
Run Code Online (Sandbox Code Playgroud)

不幸的是,它仅适用于其中之一:

$ cat test_|jq -r '.[] | select(.name=="AAA") | .members'
10
Run Code Online (Sandbox Code Playgroud)

用 +" "+ 我得到错误:

$ cat test_|jq -r '.[] | select(.name=="AAA") | .members+" "+.id'
jq: error: number and string cannot be added
Run Code Online (Sandbox Code Playgroud)

type-conversion jq

12
推荐指数
2
解决办法
7281
查看次数

如何用jq将数组拆分成块?

我有一个包含数组的非常大的JSON文件.是否可以使用jq将此数组拆分为几个固定大小的较小数组?假设我的输入是这样的:[1,2,3,4,5,6,7,8,9,10]我想把它分成3个元素的长块.所需的输出jq将是:

[1,2,3]
[4,5,6]
[7,8,9]
[10]
Run Code Online (Sandbox Code Playgroud)

实际上,我的输入数组有近300万个元素,都是UUID.

arrays shell json memory-efficient jq

12
推荐指数
2
解决办法
2082
查看次数