Как использовать групповые символы для `cp` группы файлов с помощью интерфейса командной строки AWS

У меня проблемы с использованием* в CLI AWS, чтобы выбрать подмножество файлов из определенного сегмента.

Добавление* на пути, как это не похоже на работу

aws s3 cp s3://data/2016-08* .

Ответы на вопрос(2)

Решение Вопроса

вы можете использоватьrecursive, exclude, а такжеinclude флаги вот так:

aws s3 cp s3://data/ . --recursive --exclude "*" --include "2016-08*"

Для получения дополнительной информации о том, как использовать эти фильтры:http://docs.aws.amazon.com/cli/latest/reference/s3/#use-of-exclude-and-include-filters

 keiki27 мая 2019 г., 14:27
Знайте порядок исключения и включите также.
 pyb28 янв. 2019 г., 23:49
Я хотел бы указать на--exclude "*" не опечаткаЕсли вы не добавите его, включаемый файл будет соответствовать чему угодно, Согласно документации: Обратите внимание, что по умолчанию все файлы включены. Это означает, что предоставление только фильтра --include не изменит передаваемые файлы. --include будет повторно включать только файлы, которые были исключены из фильтра --exclude. Если вы хотите загружать только файлы с определенным расширением, вам необходимо сначала исключить все файлы, а затем повторно включить файлы с определенным расширением.

Порядок параметров имеет значение

Исключить и включить следует использовать в определенном порядке, мы должны сначала исключить, а затем включить. Недостаток этого не будет успешным.

aws s3 cp s3://data/ . --recursive  --include "2016-08*" --exclude "*" 

Это не удастся, потому что порядок параметров имеет значение в этом случае. Включение исключено *

aws s3 cp s3://data/ . --recursive --exclude "*" --include "2016-08*"`

Этот будет работать, потому что мы исключили все, но позже мы включили конкретный каталог.

Ваш ответ на вопрос