- Milyen okostelefont vegyek?
- Az iPhone hajthatatlanságán gúnyolódik a Samsung
- Poco F7 Pro - jó, de az amatőr sem rossz
- Google Pixel topik
- Xiaomi 15 - kicsi telefon nagy energiával
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Megjött a jubileumi Pixel széria
- iPhone topik
- Végre bemutatkozott a Pixel 8 és a Pixel 8 Pro
- Samsung Galaxy Watch6 Classic - tekerd!
Ú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)
doneEz egy többszavas sorból egyenként adja vissza a szavakat (biztos van rá alapból egyszerűbb módszer
). 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.txtEbbő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.
Új hozzászólás Aktív témák
- BestBuy ruhás topik
- AMD vs. INTEL vs. NVIDIA
- Autós topik
- Kézilabda topik
- Gitáros topic
- Aggódnak a cégvezetők, Trump még több Intel-üzletet akar
- Sokrétű segédkijelzővel gyarapodott a Corsair portfóliója
- Renault, Dacia topik
- Milyen okostelefont vegyek?
- Imilenni: Egy kis depi, remélem elfér itt :) 2#
- További aktív témák...
- ÁRGARANCIA!Épített KomPhone Ryzen 5 7500F 32/64GB DDR5 RTX 5060 8GB GAMER PC termékbeszámítással
- GYÖNYÖRŰ iPhone 13 256GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3208
- ÁRGARANCIA!Épített KomPhone i9 14900KF 32/64GB DDR5 RAM RX 9070 XT 16GB GAMER PC termékbeszámítással
- Audio-Technica ATH-M20x fejhallgató
- Fujitsu USB Port Replicator PR09 docking station (1x5K vagy 2x4K felbontás) (DisplayLink)
Állásajánlatok
Cég: FOTC
Város: Budapest