Вы можете использовать команду aws describe
, чтобы получить все экземпляры ec2, которые соответствуют тегу с key="Instance"
и value=["Trial1", "Trial2"]
.
$ aws ec2 describe-instances --region \
--query Reservations[*].Instances[*].[InstanceId] \
--filters "Name=tag:,Values=" --output text
Приведенная выше команда предоставляет вам идентификатор экземпляра экземпляра, соответствующего параметру фильтра. На следующем шаге вы можете передать идентификаторы ресурсов команде ниже.
$ aws ec2 create-tags --resources ... \
--tags 'Key=,Value='
Команда
Create-tags
создаст новый тег, если он не существует. Если это так, то старое значение тега будет обновлено новым.
Используя xargs
, вы можете объединить обе команды в одну строку.
$ aws ec2 describe-instances --region \
--query Reservations[*].Instances[*].[InstanceId] \
--filters "Name=tag:,Values=" \
--output text| xargs -n1 -I@ aws ec2 create-tags \
--resources @ --tags 'Key=,Value='
Подробнее:
Вы не перемещаете каталог dir2 и не ссылаетесь на него. Попробуйте что-то вроде этого:
#!/bin/sh
mv "$2" "$1" || exit # Make $2 a subdirectory of $1
cd "$1/$(basename "$2")" || exit # Change directories for simplicity
for f in *; do
mv "$f" "${f%.*}.txt" # Add or change the extension
done
Добавление || exit
после команд mv
и cd
приведет к завершению сценария в случае сбоя команды, что дает небольшую защиту на случай, если что-то пойдет не так, как вы ожидаете.
Выражение ${f%.*}
совпадает с $f
, если в имени нет точки. В противном случае он удаляет период (, последний период )и все после него.