小编Ale*_*thy的帖子

如何遍历json文件?

我有一个下面的 json 文件,我想获得 hostId,只有当它name包含一些特定的值时。我想使用shell脚本来实现这一点。

{
  "items" : [ {
    "name" : "first-block-e70a2fe8fd0531ad1f87de49f03537a6",
    "type" : "STORE",
    "hostRef" : {
      "hostId" : "166219e3-be5c-46d0-b4c7-33543a29ce32"
    },
    "roleState" : "STARTED",
    "healthSummary" : "GOOD",

    },
  {
   "name" : "second-block-c21a1ae8dd2831cd1b87de49f98274e8",
    "type" : "STORE",
    "hostRef" : {
      "hostId" : "176429e3-be5c-46d0-b4c7-33543a29ad63"
    },
    "roleState" : "STARTED",
    "healthSummary" : "GOOD",
  }

  {
   "name" : "first-block-a85d2fe6fd0482ad1f54de49f45174a0",
    "type" : "STORE",
    "hostRef" : {
      "hostId" : "176429e3-ae1d-46d0-b4c7-66123a24fa82"
    },
    "roleState" : "STARTED",
    "healthSummary" : "GOOD",
  }

}
Run Code Online (Sandbox Code Playgroud)

例如:如果名称包含带有“first-block”的内容,那么我应该将 hosdId 设为

166219e3-be5c-46d0-b4c7-33543a29ce32
176429e3-ae1d-46d0-b4c7-66123a24fa82
Run Code Online (Sandbox Code Playgroud)

如何遍历 …

json

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

复制文件的内容

我有一个要求,如果满足特定条件,我需要将文件的全部内容复制到同一个文件中。这是文件:

$ cat in.txt
ip
10.22.1.34
10.22.1.35
Run Code Online (Sandbox Code Playgroud)

当满足某个条件时,例如

if [[ d=1 ]]; then
copy the file content
fi
Run Code Online (Sandbox Code Playgroud)

文件的内容应复制如下:

ip
10.22.1.34
10.22.1.35
ip
10.22.1.34
10.22.1.35
Run Code Online (Sandbox Code Playgroud)

text-processing

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

将逗号分隔的变量值转换为空格分隔的值

我有一个属性文件,其中特定键具有逗号分隔值。

$cat sample.prorerties

value=alex,raj,kaly,rema
Run Code Online (Sandbox Code Playgroud)

在我的 shell 脚本中,我实现了这个属性文件并使用键value来获取它的值。

...
. sample.properties
echo $value
...
Run Code Online (Sandbox Code Playgroud)

这是我得到的输出

$ alex,raj,kaly,rema
Run Code Online (Sandbox Code Playgroud)

不过我正在寻找像这样的空格分隔值

alex raj kaly rema
Run Code Online (Sandbox Code Playgroud)

我知道如何对文件执行此操作,但是我不确定分配给变量的内容。任何帮助深表感谢。

text-processing

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

标签 统计

text-processing ×2

json ×1