URL: https://www.opennet.ru/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID9
Нить номер: 9559
[ Назад ]

Исходное сообщение
"Автоматизация загрузки файла с динамической ссылкой под freebsd"

Отправлено Ppaa , 05-Окт-12 11:41 
Здравствуйте!

Нужно ежедневно скачивать, для последующей обработки 2 файла
Xls-таблица отсюда
http://grls.rosminzdrav.ru/PriceLims.aspx
Ссылка на файл выглядит вот так
http://grls.rosminzdrav.ru/GetLimPrice.aspx?FileGUID=ab477d5...

FileGUID меняется ежедневно, насколько я понял при обновлении файла и UserReq при каждом обновлении страницы.

Подсказали вот такое решение:

wget -O- "http://grls.rosminzdrav.ru/PriceLims.aspx" | grep "xls.*FileGUID" | grep -o "href='[^']*'" | awk -F "'|," '{print $2}' | xargs -i wget --content-disposition -c "http://grls.rosminzdrav.ru/{}"

в ubuntu работает отлично, но в шелле freebsd 6.2 на сервере, видимо из-за различий версий xargs и wget (на freebsd в xargs нет -i, а в wget нет опции --content-disposition)

xargs: illegal option -- i
При замене -i на -I

xargs: illegal option -- -


Ключи xargs в freebsd

xargs [-0opt] [-E eofstr] [-I replstr [-R replacements]] [-J replstr]
           [-L number] [-n number [-x]] [-P maxprocs] [-s size]
           [utility [argument ...]]

Подскажите, как заставить работать этот скрипт в freebsd 6.2 ?


Содержание

Сообщения в этом обсуждении
"Автоматизация загрузки файла с динамической ссылкой под freebsd"
Отправлено allez , 06-Окт-12 16:45 
>[оверквотинг удален]
> xargs: illegal option -- i
> При замене -i на -I
> xargs: illegal option -- -
> Ключи xargs в freebsd
>  xargs [-0opt] [-E eofstr] [-I replstr [-R replacements]] [-J replstr]
>            [-L
> number] [-n number [-x]] [-P maxprocs] [-s size]
>            [utility
> [argument ...]]
> Подскажите, как заставить работать этот скрипт в freebsd 6.2 ?

А если так попробовать?


wget -O price.xls "http://grls.rosminzdrav.ru/$(wget -q -O- "http://grls.rosminzdrav.ru/PriceLims.aspx" | grep "xls.*FileGUID" | grep -o "href='[^']*'" | awk -F "'|," '{print $2}')"

Я опробовал эту конструкцию в OpenBSD (FreeBSD сейчас под рукой нет) и она сработала.
Единственное "но" заключается в том, что имя сохраняемого файла нужно задавать явно.
Но это, я думаю, не такая уж страшная проблема. :-)