Điểm:0

Cần trợ giúp trong việc thay thế các giá trị trong json bằng sed

lá cờ mx

Xin chào Nhóm, tôi cần trợ giúp trong việc thay thế bản sửa đổi định nghĩa nhiệm vụ ecs hiện tại trong tệp json. Tôi có thể thay thế thành công các giá trị cho awsNetworkSubnet trong biến.json. Nhưng đang gặp khó khăn trong việc tạo lệnh sed phù hợp cho bản sửa đổi không (là 7 trong biến mẫu.json bên dưới)

Tập lệnh Bash:

#!/bin/bash
Input_file=$1
ENV=$2
Cam kết_id=$3

subnet_id=$(aws ec2 description-subnets --filter "Name=tag:use,Values=data" --query "Subnets[*].SubnetId" --output json | jq -r '.[0]')
echo "ID mạng con: ${subnet_id}"

Airflow_ecs_task_definition_revision=$( aws ecs description-task-definition --task-definitionflow_ecs-small --output json | jq '.taskDefinition.revision')
echo "Bản sửa đổi định nghĩa tác vụ ECS: ${airflow_ecs_task_definition_revision}"

sed -i $1 \
    -e "/\"awsNetworkSubnet\":/ s/\"awsNetworkSubnet\":[^,]*/\"awsNetworkSubnet\":\"${subnet_id}\"/"

Tệp Json mẫu (biến, json)

        "awsCluster": "airflow_ecs-dev",
        "awsContainerName": "airflow_ecs",
        "awsNetworkSubnet": "mạng con-1234",
        "awsRegionName": "chúng tôi-đông-1",
        "awsSecurityGroup": "sg-1234",
        "awsTaskDefinition": "airflow_ecs-small:7"
    },

AWS CLi đã sử dụng:

./subnet-cicd.sh biến.json kiểm tra cmt1234
lá cờ cn
Lời khuyên tiêu chuẩn là: sử dụng trình phân tích cú pháp JSON để phân tích cú pháp dữ liệu JSON. [`jq`](https://stedolan.github.io/jq/) chẳng hạn
lá cờ hr
Vâng, tôi đang bối rối - dường như bạn biết về jq - có lẽ điều bạn đang thiếu là toán tử *update assignment* `|=`? Xem [Bài tập](https://stedolan.github.io/jq/manual/#Assignment)

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.