Ú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
- Allegro vélemények - tapasztalatok
- Linux kezdőknek
- EA Sports WRC '23
- Last contact: rejtélyes körülmények között semmisült meg a 34343-as műhold
- Milyen autót vegyek?
- Audi, Cupra, Seat, Skoda, Volkswagen topik
- Vicces képek
- AMD GPU-k jövője - amit tudni vélünk
- Hivatalosan is elkezd védekezni az Intel csodafegyvere ellen az új Geekbench
- Napelem
- További aktív témák...
- Game Pass Ultimate előfizetések 1 - 36 hónapig azonnali kézbesítéssel a LEGOLCSÓBBAN! AKCIÓ!
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- Microsoft és egyéb dobozos retro szoftverek
- Adobe Előfizetések - Adobe Creative Cloud All Apps - 12 Hónap - 15% AKCIÓ
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- GYÖNYÖRŰ iPhone 14 Plus 128GB Starlight -1 ÉV GARANCIA - Kártyafüggetlen, MS4458
- Targus DOCK423A - USB-C Dual HDMI 4K HUB - 2 x HDMI (120Hz)
- Apple Mac Pro Workstation Dual Xeon,18GB RAM,WIFI,BT,Profi Munkaállomás és Szerver
- OnePlus Nord CE5 128GB, Kártyafüggetlen, 1 Év Garanciával
- 269 - Lenovo Yoga Pro 9 (16IAH10) - Intel Core U9 285H, RTX 5060 (multitouch)
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
). 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.