Kezdőlap › Fórumok › Programozás › regular expression
- This topic has 6 hozzászólás, 3 résztvevő, and was last updated 14 years, 5 months telt el by
admin.
-
SzerzőBejegyzés
-
2010-12-03-10:01 #1889809
Szép napot mindenkinek!Van egy kis gondom, amin nem tudok túl jutni. A wget-el letöltök néhány weboldalt különböző fájlokba.Az így keletkezett fájlokból
2010-12-03-10:37 #2201536Ezzel csak részlegesen lehet segíteni, kellene a teljes sorminta: [bash]grep minta | awk -FSABLON '{ print $pozíció} | sed 's|.*||'[/bash]
2010-12-03-11:07 #2201537Szia!Köszi a választ. Én közben folyamatosan nézem a netet és van néhány más megoldás is. Ami a Kiki-ben is gyönyörűen működik:
Code:Evvel ki is teszem azokat a sorokat egy fájlba, amikben benne van:
Code:grep2010-12-03-13:37 #2201538Én csak a sed-et ismerem, úgyhogy abban mutatom meg.Részletezve, mert kicsit bonyolultabb a dolog. Viszont Csak a linkeket szedi ki és nem érdekli, hogy hány van egy sorban, mi van még a sorban, van-e a linkekben '"', vagy mi szerepel még az "a" elemnek más tulajdonsága, vagy van-e az "a" elemben másik elem.[bash]TMP_001=$(cat "${IN_FILE}")# Minden sorben csak egy keresendő elem legyen (könnyebb feldolgozni)TMP_002=$(echo "${TMP_001}" | sed -e 's//n/g')# " cserélése %22-re, ha van ilyen (a feldolgozásnál hasznos lesz)# valószínű, hogy nincs ilyen, de az ördög nem alszikTMP_003=$(echo "${TMP_002}" | sed -e 's/\"/%22/g')# Csak a <a href=" és közötti részt hagyjuk megTMP_004=$(echo "${TMP_003}" | sed -n -e 's/.*<a href="(.*).*/1/p')# Most már nincs más dolgunk, mint törölni "-től mindentTMP_005=$(echo "${TMP_004}" | sed -e 's/"(.*)//')[/bash]Vagy egyben az egész:[bash]cat "${IN_FILE}" | sed -e 's//n/g' -e 's/\"/%22/g' -n -e 's/.*<a href="(.*).*/1/p' | sed -e 's/"(.*)//' > "${OUT_FILE}"[/bash]Ha nincs a linkekben " (ami nagyon valószínű), valamint egy sorban csak egy link van, akkor lerövidül:[bash]cat "${IN_FILE}" | sed -n -e 's/.*<a href="(.*).*/1/p' | sed -e 's/"(.*)//' > "${OUT_FILE}"[/bash]
2010-12-03-13:57 #2201539tennél ide egy konkrét linket kiemelve azt a részt amit kell…
2010-12-07-14:30 #2201540Sziasztok!Köszi a segítséget és a tanító kódokat. Sajnos időközben fel kellett adnom, mert átgondolatlanul estem neki a dolognak. Az eredményből nyert linkek által újabb oldalakból kellene kinyerni infókat, ami 100-160 oldal és össze-vissza vannak benne az adatok. pl.:
Code:Alapterület : 70 nm Innen ki kellene szednem az alapterületet és a következő sorokból még több adatot... Sok sok egyforma sor és nincs egyediség bennük. A kihívás nagyszerűnek tűnt, de nem ment.Azért köszi mindenkinek.
2010-12-07-17:30 #2201541így kell?[bash]echo '
70 nm ' | awk -Fstrong> '{ print $2 }' | sed 's|</.*||'[/bash]
-
SzerzőBejegyzés
- Be kell jelentkezni a hozzászóláshoz.
legutóbbi hsz