wget a vystupny adresar podla casti v linku

Sekcia: Aplikácie & Desktop 07.05.2013 | 10:25
Erik   Návštevník

Zdravim,

Vedel by mi niekto poradit, ze ako nastavit vystupne adresare podla casti v linku?

Priklad: wget www.priklad.com/nieco/ABC{0..20}/nieco/subor{0..99}.zip

chcel by som dosiahnut to, aby sa mi subory subor1.zip subor2.zip..subor99.zip ulozili do adresara urceneho castou abc{0..20} v linku.

Problem je v tom, ze tie subory maju vzdy rovnaky nazov, len koncovka s cislom sa meni.

Chcem aby sa subory stiahnute z casti linku ABC1 vsetky ulozili do adresara ABC1, potom tie ktore su z casti linku ABC2, opat do adresara ABC2 atd. Dakujem

    • RE: wget a vystupny adresar podla casti v linku 07.05.2013 | 11:05
      Avatar Miroslav Bendík Gentoo  Administrátor

      Toto by malo stiahnuť súbory a uložiť ich ako adresár{0..20}/{0.99}.zip.

      #!/bin/bash
      
      for i in `seq 0 20`;
      do
      	mkdir $i
      	for j in `seq 0 99`;
      	do
      		wget http://www.priklad.com/nieco/ABC$i/nieco/subor$j.zip -O $i/$j.zip
      	done
      done
      • RE: wget a vystupny adresar podla casti v linku 10.05.2013 | 15:24
        Avatar Erik   Návštevník

        Dik este by som sa spytal, na par veci:

        1. Ako dosiahnem to, ze ked wget zisti ze subor0.zip neexistuje aby na tej istej casti linku ostatne subory subor1.zip, subor2.zip, uz nehladal (zbytocne to zatazuje server), lebo ak chyba prvy subor, tak ostatne tam uz nebudu.

        2. Potreboval by som cast `seq 0 20` upravit tak, aby sa cislo inkrementovalo nie od 0,1,2...19,20 ale takto 00,01,02...19,20, da sa to?

        3. Dali by sa inkrementovat pismena, napr. od a..po z, skusal som to takto `seq 'a' 'z'`, alebo `seq '97' '122'` ale samozrejme to nefunguje (v linuxe som len zaciatocnik). Napadlo ma, ze by sa dala inkrementovat ASCII hodnota znakov abecedy, ale neviem ako.

        4. Potreboval by som vytvorit pomocnu premennu napr. P=slovo, lebo toto slovo sa v tom mojom upravenom skripte nachadza viac krat, a takto by som si to chcel zjednotusit, aby som to furt nemusel prepisovat na desiatich miestach.To slovo by obsahovalo aj cisla aj pismena.

        5. Vedel by si mi dat tip na nejake linky v SK, CZ alebo knizku, kde by som nasiel taketo triky pre prikazovy riadok aj s prikladmi? Napr. to "seq" vidim prvy krat. Vyguglit sa da vselico, ale ked nevies co mas hladat, tak je problem.

        • RE: wget a vystupny adresar podla casti v linku 10.05.2013 | 20:55
          Avatar WlaSaTy   Návštevník
          1) Otestuješ návratový kód z príkazu wget a dáš preskočiť čas cyklu.

          2) Pozri sa čo robí tento príkaz: printf "%.2i\n" 1 a sprav si premennú na URL sformátovanú podľa potreby.

          3) Bash má množstvo funkcií, napríklad zvládne aj toto: echo {a..g}

          4) Tak si ju sprav, presne tak ako píšeš. Len odkazovať na u sa budeš musieť tovnako ako v prípade použitia premenných v sekvencii v danom príklade. Teda, cez dolár a okrídlené otvorky a zátvorky

          5) google, výraz : programujeme v bash