如何使用 sed/aws 从 json 文件中获取值?

Posted

技术标签:

【中文标题】如何使用 sed/aws 从 json 文件中获取值?【英文标题】:how to get the value from json file using sed/aws? 【发布时间】:2021-10-20 19:58:03 【问题描述】:

我是 unix 中 sed 和 awk 命令的新手。我有 output.json 文件,该文件具有“docker ps”命令的输出值:

$ cat output.json 
CONTAINER ID   IMAGE                                       COMMAND   CREATED         STATUS         PORTS     NAMES
dc6f2c93c832   ankur1825/jmeter-chromewebserver:jmeterv1   "bash"    3 minutes ago   Up 3 minutes             sleepy_mendeleev

我只想获得 CONTAINER-ID 值,即“dc62cf93c832”。我如何通过 sed 或 awk 命令获得此信息。

我在下面尝试过,但这可能只给了我 Container-Id:

$ CONTAINER-ID=$(cat output.json | sed 's/\//_/g')
bash: CONTAINER-ID=CONTAINER: command not found

任何帮助表示赞赏!

【问题讨论】:

那不是 JSON 文件。您对sed 's/\//_/g' 的尝试毫无意义。并且变量名不能包含破折号。 更好的解决方案是将合适的参数传递给docker ps。如果您使用 docker run --name something 为您的容器分配名称,您的解决方案将只是 docker ps --filter name=something -q 【参考方案1】:
awk 'NR==2print $1' output.json

将为您提供所需的输出,但不清楚您最初认为输入文件是 JSON 还是您尝试使用问题中的 sed 命令做什么。

【讨论】:

以上是关于如何使用 sed/aws 从 json 文件中获取值?的主要内容,如果未能解决你的问题,请参考以下文章

如何使用angularjs从json文件中获取数据

如何使用 jq 从复杂的 JSON 文件中获取简单的 JSON 数据文件

如何在 laravel 中使用 foreach 从 json 文件中获取所有数据?

如何从原始文件夹中获取 json 文件?

react-native 如何从本地JSON文件中获取数据?

如何从 Flutter 中的 JSON 文件中获取所有命令 id?