Получение того же имени файла при переименовании с помощью wget

Использование Windows 10 и wget для загрузки файлов из определенного места, установленного и настроенного WSL2. Как только установка была завершена, открыли и выполнили следующую команду

sudo apt-get install wget

Затем выполнила следующую команду

wget --header='Accept-Language: en-US,en;q=0.9,pt-PT;q=0.8,pt;q=0.7,de;q=0.6,fr;q=0.5,es;q=0.4,it;q=0.3,gl;q=0.2,hu;q=0.1' --user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36" -c "http://www.centrodeinformacao.ren.pt/_layouts/CI.GetExcel/SafeGetExcel.aspx?T=CRG&P="{1..3}"-"{1..12}"-"{2019,2020}"&variation=PT" -w 1

Это сохраняет файлы в \\wsl$\Ubuntu-18.04\home\molecoder с именем SafeGetExcel.aspx?T=CRG&P=1-1-2020&variation=PT. Если я хочу, чтобы они были как.xls, в настоящее время нужно будет идти один за другим и изменить конец файла на .xls или автоматически переименовать файл в то, что я хочу.

Если я использую

wget --header='Accept-Language: en-US,en;q=0.9,pt-PT;q=0.8,pt;q=0.7,de;q=0.6,fr;q=0.5,es;q=0.4,it;q=0.3,gl;q=0.2,hu;q=0.1' --user-agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/83.0.4103.116 Safari/537.36" -c "http://www.centrodeinformacao.ren.pt/_layouts/CI.GetExcel/SafeGetExcel.aspx?T=CRG&P="{1..3}"-"{1..12}"-"{2019,2020}"&variation=PT" -O {1..3}_{1..12}_{2019,2020}.xls -w 1

Тогда я получу все файлы с именем 1_1_2019.xls. Как я могу увеличить это число соответственно (1_1_2019.xls, 1_1_2020.xls, 1_2_2019.xls, ...)?

1 ответ

Решение

(Я думаю, что пример в вашем посте должен был быть1_1_2019.xls, 1_2_2019.xls, 1_3_2019.xls, на чем я основываю свой ответ.)

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

Я предлагаю вместо этого использовать утилиту youtube-dl.

Youtube-dl поддерживает %(autonumber)s переменная с такими вызовами, как:

youtube-dl -a URL-file -o '-o "%(autonumber)s-%(title)s.%(ext)s"

Стартовый номер можно установить параметром --autonumber-start NUMBERчтобы указать начальное значение для %(autonumber)s, где по умолчанию 1.

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