Пакетная загрузка файлов с датой в имени файла

Pls. копайте в X11 Протоколл рассматривает события разоблачения.

Хотя сервер X11 может хранить содержимое окон, большинство приложений получат событие экспонирования, когда становится видимой часть (inkl. the whole) окна приложений.

Обычно, когда нет помех (например, экранная заставка, гашение экрана), нет необходимости перерисовывать содержимое такого окна. Если окно затенено и становится видимым - оно снова отображается, сервер X11 снова отправит событие экспонирования в приложение.

Дополнительная информация: https://tronche.com/gui/x/xlib/events/exposure/expose.html

Таким образом, параметр noexpose в xset может вызвать экранную заставку чтобы отключить его, но только в том случае, когда реализация графического драйвера специфики (или настройки мощности) не может восстановить содержимое экрана на unblank (что больше всего может сделать).

Ваш,

Jens

1
задан 16 November 2017 в 13:58

3 ответа

Я предполагаю, что один из ваших файлов https://www.url.com/2017-11-16.png, и изменяется только дата. Вы можете использовать Bash Brace Expansion для вычисления дат и загрузки файлов за один проход:

wget https://www.url.com/{2016..2017}-{01..02}-{01..02}.png

Однако это не будет работать для очень многих URL-адресов, например, в вашем случае, поскольку существует ограничение на длину команда терминала. Альтернативой является цикл for:

for i in {2016..2017}-{01..02}-{01..02}; do
  wget https://www.url.com/$i.png
done

Но вы будете получать такие даты, как 2017-02-31, с этим подходом. Для получения только очень дат нам нужно date, как в этом сценарии, взятом из Bash Brace Expansion :

#!/bin/bash
startdate=2017-11-14
enddate=2017-11-16
d=
n=0
until [ "$d" = "$enddate" ]; do  
  d=$(date -d "$startdate + $n days" +%Y-%m-%d)
  wget https://www.url.com/$d.png
  ((n++))
done

Настроить startdate и [ f8] в соответствии с вашими конкретными потребностями. Если вам нужно изменить формат даты, например. 20171116, сделайте это как в этих переменных, так и в команде date, в этом примере это будет +%Y%m%d.

5
ответ дан 22 May 2018 в 16:11

Я предполагаю, что один из ваших файлов https://www.url.com/2017-11-16.png, и изменяется только дата. Вы можете использовать Bash Brace Expansion для вычисления дат и загрузки файлов за один проход:

wget https://www.url.com/{2016..2017}-{01..02}-{01..02}.png

Однако это не будет работать для очень многих URL-адресов, например, в вашем случае, поскольку существует ограничение на длину команда терминала. Альтернативой является цикл for:

for i in {2016..2017}-{01..02}-{01..02}; do wget https://www.url.com/$i.png done

Но вы будете получать такие даты, как 2017-02-31, с этим подходом. Для получения только очень дат нам нужно date, как в этом сценарии, взятом из Bash Brace Expansion :

#!/bin/bash startdate=2017-11-14 enddate=2017-11-16 d= n=0 until [ "$d" = "$enddate" ]; do d=$(date -d "$startdate + $n days" +%Y-%m-%d) wget https://www.url.com/$d.png ((n++)) done

Настроить startdate и enddate в соответствии с вашими конкретными потребностями. Если вам нужно изменить формат даты, например. 20171116, сделайте это как в этих переменных, так и в команде date, в этом примере это будет +%Y%m%d.

5
ответ дан 18 July 2018 в 03:12

Я предполагаю, что один из ваших файлов https://www.url.com/2017-11-16.png, и изменяется только дата. Вы можете использовать Bash Brace Expansion для вычисления дат и загрузки файлов за один проход:

wget https://www.url.com/{2016..2017}-{01..02}-{01..02}.png

Однако это не будет работать для очень многих URL-адресов, например, в вашем случае, поскольку существует ограничение на длину команда терминала. Альтернативой является цикл for:

for i in {2016..2017}-{01..02}-{01..02}; do wget https://www.url.com/$i.png done

Но вы будете получать такие даты, как 2017-02-31, с этим подходом. Для получения только очень дат нам нужно date, как в этом сценарии, взятом из Bash Brace Expansion :

#!/bin/bash startdate=2017-11-14 enddate=2017-11-16 d= n=0 until [ "$d" = "$enddate" ]; do d=$(date -d "$startdate + $n days" +%Y-%m-%d) wget https://www.url.com/$d.png ((n++)) done

Настроить startdate и enddate в соответствии с вашими конкретными потребностями. Если вам нужно изменить формат даты, например. 20171116, сделайте это как в этих переменных, так и в команде date, в этом примере это будет +%Y%m%d.

5
ответ дан 24 July 2018 в 17:46

Другие вопросы по тегам:

Похожие вопросы: