Hirdetés

Új hozzászólás Aktív témák

  • ngabor2

    nagyúr

    válasz ngabor2 #1732 üzenetére

    Alakulok, alakulok, de még messze vagyok még.

    A pontos megoldássan beírt "Szociális Szövetkezet"-eket gond nélkül megtalálja a lenti szkript.

    Viszont a hasonlók kigyűjtését legfeljebb elméletileg bírtam végigvinni, vagy úgy se.

    Első részfeladathoz egy kis segítség magamnak:

    #!/bin/bash
    string="elem1 elem2 elem3"
    hossz=$(echo $string| wc -w)
    for i in $(seq $hossz)
    do
    echo $(echo $string | cut -d" " -f $i)
    done

    Ez egy többszavas sorból egyenként adja vissza a szavakat (biztos van rá alapból egyszerűbb módszer :D). Az utolsó előtti sor első echo-ja helyett mehetne az összehasonlítás. Ezt kell a Jester által írt progival összehasonlítani 4 szóval (mert a 2 szó lehet végig nagybetűvel is). Ahol egy sorban 2 db 0 van, azt a korábbi szkript is megtalálja. Ha egy 0 van benne, a többi nagy szám, az nekünk nem kell. Ha viszont van 2 kis szám (pl. 5 alatti, az egyik akár 0 is lehet), akkor az a szakasz kell.

    Ami nekem problémát okoz, hogy egyrészt oldalanként 50 darab 5 (pontosabban 7) soros szakasz 3. sorának egy részletét kell vizsgálni, és ha ott van 2 hasonló, de nem azonos szó, akkor azt a szakaszt változatlanul át kell másolni egy fájlba. És ez meg sok-sok oldalon keresztül...

    Egy másik fórumtárstól kaptam egy awk szkriptet, amivel a html-ből kiszedi a sorokat:

    awk '\
    BEGIN { IGNORECASE = 1; output = ""; }\
    /<td width="15" align="right" class="szoveg">/ { match($0, ">(.*?)<", a); output = a[1]; }
    /<td width="60%" class="szoveg" align="left">/ { match($0, ">(.*?)<", a); output = output "; " a[1]; }
    /<td align="center" class="szoveg">/ { match($0, ">(.*?)<", a); output = output "; " a[1]; }
    /<td align="center" class="szoveg" width="120">/ { match($0, ">(.*?)<", a); output = output "; " a[1]; }
    /--/ { match(output, ".*szociális.*szövetkez[^<]*", b); if ( b[0] != "" ) print b[0]; }
    ' szoc.txt

    Ebből igazából csak a /<td width="60% kezdetű részre, meg a körítésre van szükség, és az ebben levő szavakat kell vizsgálni. Viszont hogy határozatlan mennyiségű számból hogyan lehet megállapítani, hogy van-e benne 2 db 5 alatti, az már nem az én súlycsoportom... meg úgy egy az egyben az egész.

    IMHO lassan eljut ez a projekt arra a szintre, hogy nem egy szkript a legkézenfekvőbb megoldás erre.

    [ Szerkesztve ]

Új hozzászólás Aktív témák