[ IvanZD @ 20.02.2007. 14:36 ] @
Hi!

Imam jedan problemčić, vjerujem da je lagano rješenje, ali nisam guru i ne uspijevam izaći na kraj. Nadam se da mi netko može pomoći, bio bih zahvalan!

Izvršavanjem određene skripte, dobijam html file slijedećeg sadržaja

Code:

<head><title>Data Transfer: NCEP GFS Forecasts (0.5 degree grid)</title></head>
<body bgcolor="#ffffff">
******************************************************<br>
gfs.t00z.master.grbanl was copied to <a href="ftp://nomad3.ncep.noaa.gov/pub...-8.2904/gfs.t00z.master.grbanl">ftp://nomad3.ncep.noaa.gov/pub/NOMAD_1hr/tdir20-8.2904/gfs.t00z.master.grbanl</a>, 788306 bytes<br>
 subregion: W=4 E=24 N=52 S=37<br>
******************************************************<br>&nbsp<br>

Ima još no dalje nije važno...


E sad, ponavljanjem skripte sutradan recimo, sve je isto samo se mijenja direktorij za download (ono što vidite gore kao tdir20-8.2904) i to po random principu. Slova tdir uvijek ostaju, no one brojke se mijenjaju, i ponekad tamo gdje je sad 2904 čak nisu 4 brojke nego 3.


Što ja trebam sad? Trebam napisati bash skriptu, koja će iz tog filea izdvojiti naziv direktorija za download i nakon što to uradi, napraviti:
wget -m -nd ftp://nomad3.ncep.noaa.gov/pub/NOMAD_1hr/tdir??-?.????/
Naravno, svaki put ovaj crveni dio zavisi od toga kako server napravi naziv direktorija.

Ono što mi konkretno nije jasno, to je kako napraviti da skripta svaki puta sazna pravi direktorij za download. Treba na neki način potražiti prvi ftp:// link s vrha filea i izbaciti iz tog linka naziv datoteke.... kada se izbaci naziv datoteke ostati će samo naziv potpunog linka za wget... no ne znam kako to napraviti!

Malo sam ovo bezveze pojasnio, nadam se da će netko shvatiti, ako ne probati ću preformulirati pitanje.... zahvaljujem svima na strpljenju i pomoći!
[ VRider @ 20.02.2007. 15:32 ] @
Ako je to u nekom fajlu "stranica", onda ovako...

damir@phoenix:~/temp$ cat stranica
<head><title>Data Transfer: NCEP GFS Forecasts (0.5 degree grid)</title></head>
<body bgcolor="#ffffff">
******************************************************<br>
gfs.t00z.master.grbanl was copied to <a href="ftp://nomad3.ncep.noaa.gov/pub...-8.2904/gfs.t00z.master.grbanl">ftp://nomad3.ncep.noaa.gov/pub/NOMAD_1hr/tdir20-8.2904/gfs.t00z.master.grbanl</a>, 788306 bytes<br>
subregion: W=4 E=24 N=52 S=37<br>
******************************************************<br>&nbsp<br>
damir@phoenix:~/temp$ grep href stranica | cut -d '>' -f 2 | cut -d '<' -f 1 | cut -d '/' -f 6
tdir20-8.2904
damir@phoenix:~/temp$
[ IvanZD @ 20.02.2007. 17:08 ] @
Radi, hvala puno. Da li je ikako moguće, ukoliko ima više takvih linija koje će grep pronaći, a ima, da ispiše output samo jednom?
[ caiser @ 20.02.2007. 17:20 ] @
Dodas '|sort|uniq' na kraju da sprecis ponavljanje istih ali da ti prikaze ako postoji neka adresa koja se razlikuje. Ili '|head -n 1' da prikazes smao prvu ako si siguran da ti samo prva treba.
[ IvanZD @ 20.02.2007. 17:26 ] @
Hvala svima, i cijelom ES forumu, super ste! :)
[ VRider @ 20.02.2007. 17:33 ] @
Pa jesmo li zemljaci ili nismo?
[ caiser @ 20.02.2007. 17:33 ] @
@vrider
Mislim da ti drugi cut uopste nije potreban. :)
[ rafiki @ 21.02.2007. 18:15 ] @
Citat:
caiser: Dodas '|sort|uniq' na kraju da sprecis ponavljanje istih ali da ti prikaze ako postoji neka adresa koja se razlikuje. Ili '|head -n 1' da prikazes smao prvu ako si siguran da ti samo prva treba.

Ili samo 'sort -u'

Pozdrav