nixp.ru v3.0

17 октября 2017,
вторник,
12:27:49 MSK

DevOps с компанией «Флант»
Longobard написал 29 мая 2004 года в 06:05 (385 просмотров) Ведет себя как мужчина; открыл 291 тему в форуме, оставил 2499 комментариев на сайте.

Есть такая вот ситуация. Человек хочет выкачать одно из центральных гентушных зеркал, но не хочет выкачивать старые версии пакетов. Надо написать скриптик чтобы из диры distfiles (в ней находятся tar.* архивы с пакетами) выкачал все в диру на винте. Напишите плиз, а то времени мало, а шелл за час не выучишь. В принципе пона и на Си такое написать, просто времени мало. Заранее спасибо.

Steck

попробуй

wget -v -r -l 1 --no-parent ftp://site.com/distfiles/

если еще то man wget

Longobard

Млтяь, я это и сам умею. Суть в том что нужно выкачать ТОЛЬКО ПОСЛЕДНИЕ ВЕРСИИ каждого пакета что есть на ФТП.

Digger

А как ты собираешься их различать? По названию?

Longobard
Digger
А как ты собираешься их различать? По названию?

Да. xyz-2.2.2 явно свежее чем xyz-2.2.0

Genie

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 для этого тоже подойдёт.