Я пытаюсь подготовить вывод для выражения grep, но когда я пытаюсь изменить данные, чтобы получить их в нужном формате, у меня возникают проблемы с получением их так, как я хочу.
Я использую следующую команду, чтобы получить список IP-адресов, которые мне нужны.
PRIV_IP=$(aws ec2 describe-instances \
--region "${REGION}" \
--output text \
--query 'Reservations[].Instances[].[PrivateIpAddress]' \
--filters Name=tag:TagA,Values="${TagAData}" \
Name=tag:TagB,Values="HOME" \
Name=tag:TagC,Values="MAIN" | sed 's/\./-/g' | sed 's/ /\\|/g')
Это вывод команды;он игнорирует последний оператор sed.
echo $PRIV_IP
1-2-3-4 5-6-7-8 9-10-11-12
Если я выполняю sed вручную, он работает как задумано.
echo $PRIV_IP | sed 's/ /\\|/g'
1-2-3-4\|5-6-7-8\|9-10-11-12
Может ли кто-нибудь предоставить некоторые сведения о том, что я делаю неправильно?