【问题标题】:how to get the value from json file using sed/aws?如何使用 sed/aws 从 json 文件中获取值?
【发布时间】: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

标签: shell unix awk sed sh


【解决方案1】:
awk 'NR==2{print $1}' output.json

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2019-11-02
    • 2020-11-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-01-26
    相关资源
    最近更新 更多