Vlákno názorů k článku Úvod do AWK: proměnné, operátory a první kroky od Hraesvelgr Odin - Ahojte, prosim o radu jsem naprosty zacatecnik awk/sed...

  • Článek je starý, nové názory již nelze přidávat.
  • 6. 9. 2006 12:20

    Hraesvelgr Odin (neregistrovaný)
    Ahojte, prosim o radu jsem naprosty zacatecnik awk/sed :) a resim problem, vedu si seznam hudby ve formatu html, mam k tomu css, vypada to asi nejak takto:
    <DIV class=style_title>Black Metal</DIV>

    <DIV class=band_name>1349</DIV>
    <DIV class=album>Liberation</DIV>
    <DIV class=album>1349</DIV>
    <DIV class=album>Beyond the Apocalypse</DIV>
    <DIV class=album>Chaos</DIV>
    <DIV class=album>Hellfire</DIV>
    <DIV class=band_name>Abigor</DIV>
    <DIV class=album>Nachthymnen (From the Twilight Kingdom)</DIV>
    <DIV class=album>Opus IV</DIV>
    <DIV class=album>Orkblut - The Retaliation</DIV>
    <DIV class=album>Invoke the Dark Age</DIV>
    <DIV class=band_name>Absu</DIV>
    <DIV class=album>Mythological Occult Metal</DIV>
    <DIV class=album>The third storm of Cythraul</DIV>
    <DIV class=band_name>Abyssos</DIV>
    <DIV class=album>Fhinsthanian Nightbreed</DIV>
    <DIV class=band_name>Ad Hominem</DIV>
    <DIV class=album>Omnes Ad Unum</DIV>

    kdyz ho chci vest, tak jsem si vy ls koval tenhle soubor s takovouhle strukturou:

    /music/Music/Metal/Black/1349 Discography:
    1349-1349-CDM-1999-BERC 1349-Beyond_the_Apocalypse-(Promo)-2004-FNT
    1349-Hellfire-2005-BERC 1349-Chaos_Preferred-Demo-1999-AMRC
    1349--Liberation-Promo-2003-UBE

    /music/Music/Metal/Black/1349 Discography/1349-1349-CDM-1999-BERC:
    00-1349-1349-cdm-1999-berc.m3u 00-1349-1349-cdm-1999-berc.nfo
    00-1349-1349-cdm-1999-berc.sfv

    /music/Music/Metal/Black/1349 Discography/1349-Beyond_the_Apocalypse-(Promo)-2004-FNT:
    00-1349-beyond_the_apocalypse-(promo)-2004-fnt.m3u
    00-1349-beyond_the_apocalypse-(promo)-2004-fnt.nfo
    00-1349-beyond_the_apocalypse-(promo)-2004-fnt.sfv

    /music/Music/Metal/Black/1349 Discography/1349-Hellfire-2005-BERC:
    00_1349-hellfire-2005-berc.m3u 00_1349-hellfire-2005-berc.nfo
    00_1349-hellfire-2005-berc.sfv

    /music/Music/Metal/Black/1349 Discography/1349-Chaos_Preferred-Demo-1999-AMRC:
    00_1349-chaos_preferred-demo-1999-amrc.m3u
    00_1349-chaos_preferred-demo-1999-amrc.nfo
    00_1349-chaos_preferred-demo-1999-amrc.sfv
    00_1349-chaos_preferred-demo-1999-front-amrc.jpg


    atd. Potreboval bych to dostat do toho html formatu a jsem bezradny, nevim jak, nevim jak odsekat co nepotrebuji atd :(, navic se kazdy album i kapela jmenuje jinak, nekdy s mezerou nekdy bez atd...

    prosim alespon male "nakopnuti" nejakym smerem :D
  • 6. 9. 2006 12:23

    Hraesvelgr Odin (neregistrovaný)
    Tohle je zrovna blbej priklad, vetsina alb se nejmenuje 1349-Chaos_Preferred-Demo-1999-AMRC takhle debilne, ale treba jen 1997 - Chaos preffered atd, nekdy s mezerou nekdy bez, kazdopadne je to posledni adresar v te cele ceste vzdy. Takovehle vyjimky se daji dodelat rucne, celkem asi u 80ti cd :)
  • 6. 9. 2006 15:24

    su - \mathfrak{M}&#294;&#274;&#458;MARCHON (neregistrovaný)
    Kratka odpoved: PERL. Dlhsia odpoved: treba zistit najprv vsetky pripady, jak su popisane nazvy, potom:

    opendir/readdir (rekurzivne alebo via `ls -R`), potom grep s testom -d/-f, s///, rename

    Riesil som podobny problem, ale nakoniec to vzdy vyslo tak, ze clovek si dokaze pomenovat tie adresare tak, ze kazdy konecny regexp bol na to kratky :-) Ked som ogg-oval/mp3-koval svoje CD, slo to celkom easy, perl cez CDDB, ked to nenaslo (mal som par kuskov, co neboli hadam v ziadnej DB), spytalo sa na rucne zadanie. Obcas ale bolo rychlejsie skopirovat mp3 od niekoho, kto to uz z-mp3-kovane mal a popremenovavat one-linerom.

    IMHO zaklady PERLu na toto sa daju naucit za den/dva (PERL je v podstate C + sed + awk + bash + kopa inych vymyslov).
  • 6. 9. 2006 21:26

    Hraesvelgr Odin (neregistrovaný)
    :-) Diky za obe odpovedi. Tusil jsem algoritmus, nejprve odstraneni nazvu souboru (obrazky atd), pote bych osekal radky s adresarovymi cestami tak, aby se odstranilo vzdy vse po jmeno kapely, tzn kapela/album format, s timto souborem by se dalo lepe pracovat a srazit ty adresare dohromady :) kazdopadne algoritmus chapu, ale awk sed jsem zacatecnik, a tak si nedokazi predstavit moznosti jakymi toho dosahnout, a perl? no stejne jsem se ho taky planoval naucit :D, diky.
  • 6. 9. 2006 22:25

    Major Prochazka (neregistrovaný)
    Nakopnout bys potreboval leda do zadku. Ze se nestydis zde pastovat seznamy skladeb, ktere obsahuji tagy warezovych skupin. Kdyz uz krades hudbu takto ve velkym (cely diskografie), tak si uvedomuj, co delas, a krot se. Nemuselo by se ti to vyplatit...
  • 8. 9. 2006 11:29

    vita (neregistrovaný)
    jsem hudebnik a prisaham, ze hudbu mi jeste nikdo nikdy neukradl a ani kdyby chtel, tak se mu to nepodari... ono to totiz nejde!