Получение того же имени файла при переименовании с помощью 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.