Рейтинг:0

Сценарий оболочки для копирования нескольких файлов

флаг gb

Я пытаюсь сделать сценарий оболочки, который скопирует кучу файлов, но не может настроить цикл для чтения файлов:

aws s3 cp s3://noaa-bdp-pds/gdas.YYYYMMDD/00/atmos/hdas.t00z.sfcf000.nc s3://s3internal/raw/HDAS/hdas.YYYYMMDD_00Z.nc

Здесь YYYY, MM, DD — числа, которые мне нужно перебрать.

Мне нужно перебрать все годы, все месяцы, а затем даты, чтобы сохранить все файлы. Подскажите, можно ли это сделать?

Спасибо

waltinator avatar
флаг it
Прочтите `man seq`.
флаг kr
добавить все доступные комбинации ГГГГММДД в ​​массив и использовать цикл for для запуска команды копирования для каждой итерации?
Рейтинг:0
флаг cn

Вы можете добиться этого, используя авс s3 синхронизация с подстановочным знаком и --пробный прогон который производит вывод:

$ aws s3 синхронизирует s3://noaa-bdp-pds . \
  --exclude "*" --include "gdas.*/00/atmos/hdas.t00z.sfcf000.nc"

(пробный запуск) загрузите s3://noaa-bdp-pds/gdas.20210001/00/atmos/hdas.t00z.sfcf000.nc в noaa-bdp-pds /gdas.20210001/00/atmos/hdas.t00z.sfcf000. нк
 ...
 ...

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

Теперь вы можете использовать это для создания цикла:

#!/бин/баш
для строки в $(\
    синхронизация aws s3 s3://noaa-bdp-pds . \
    --exclude "*" --include "gdas.*/00/atmos/hdas.t00z.sfcf000.nc" | awk '/s3:\/\//{print $3}' --dryrun \
); делать
    [[ $line =~ .*/gdas.(.*)/00/.* ]] && \
    echo aws s3 cp ${BASH_REMATCH[0]} s3://s3internal/raw/HDAS/hdas.${BASH_REMATCH[1]}_00Z.nc
сделано

Когда вы будете удовлетворены результатом, удалите эхо для копирования файлов.

bac0n avatar
флаг cn
связанный: [Поддержка подстановочных знаков AWS S3 ls] (https://github.com/aws/aws-cli/issues/3784)

Ответить или комментировать

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