Longobard
написал 29 мая 2004 года в 06:05 (845 просмотров)
Ведет себя
как мужчина; открыл 291 тему в форуме, оставил 2499 комментариев на сайте.
Есть такая вот ситуация. Человек хочет выкачать одно из центральных гентушных зеркал, но не хочет выкачивать старые версии пакетов. Надо написать скриптик чтобы из диры distfiles (в ней находятся tar.* архивы с пакетами) выкачал все в диру на винте. Напишите плиз, а то времени мало, а шелл за час не выучишь. В принципе пона и на Си такое написать, просто времени мало. Заранее спасибо.
Последние комментарии
- OlegL, 17 декабря в 15:00 → Перекличка 21
- REDkiy, 8 июня 2023 года в 9:09 → Как «замокать» файл для юниттеста в Python? 2
- fhunter, 29 ноября 2022 года в 2:09 → Проблема с NO_PUBKEY: как получить GPG-ключ и добавить его в базу apt? 6
- Иванн, 9 апреля 2022 года в 8:31 → Ассоциация РАСПО провела первое учредительное собрание 1
- Kiri11.ADV1, 7 марта 2021 года в 12:01 → Логи catalina.out в TomCat 9 в формате JSON 1
ecobeing.ru
Экология и вегетарианство на благо всем живым существам Планеты.
попробуй
wget -v -r -l 1 --no-parent ftp://site.com/distfiles/
если еще то man wget
Млтяь, я это и сам умею. Суть в том что нужно выкачать ТОЛЬКО ПОСЛЕДНИЕ ВЕРСИИ каждого пакета что есть на ФТП.
А как ты собираешься их различать? По названию?
Да. xyz-2.2.2 явно свежее чем xyz-2.2.0
use awk
awk '{verpos=$0~/-([0-9]+\.)+[0-9\.A-z\-]+/; if(verpos){
name=substr($0,1,verpos);
version=substr($0,verpos+1,length($0));
if (version > versions[name])
{versions[name]=version}}}
END{for (name in versions){
printf «http://site.com/distfiles/%s-%v.pack\n»,name,versions[name]}}’|wget -i -
или типа того. правильного сравнения добиваться самому ;)
в принципе, perl для этого тоже подойдёт.