A problemam az, hogy egy idore meno kuldetes kell vegrehajtanom:
1 masodpercen belul le kell kernem egy weboldalt, manipulalni a rajta levo sztringgel, majd a vegeredmenyt vissza kell kuldenem.
Ehez ugye marha gyors szkript kell, amit (hogy tanuljam es jobban megismerjem) BASH-t hasznalok, a szoveget, amin manipulalni kell, 'sed'-del szedem ki: (egy hash-bol kell kivalogatni a szamokat)
hash=`echo $hash | sed "s/.*your string is: //" | sed "s/hash utani resz.*//" | sed "s/[a-z]//g" | sed "s/\r//"`
Az a baj, hogy igy a 'sed' negyszer fut, ahelyett, hogy egyszeri futassal megcsinalni minden szukseges valtoztatast. Szeretnem valahogy egyetlen sorban megoldani a feladatot, hogy ezzel is idot sporoljak, de Google nem adott tul sok hasznalhato linket. (volt egy csomo 'one-liner', de abban sem ertettem meg, hogy hogy is lehet egy soros szkriptet irni)
'sed' megoldas:
hash=`echo $hash | sed -e "s/.*your string is: \(.*\)hash utani resz.*/\1/" -e "s/[a-z]//g" -e "s/\r//"`
A masik kerdesem az, hogy ugyebar kozre lehet fogni az illeszkedest, de hogy lehetne egy soron belul az illeszkedon kivuli szoveget kivalogatni? Marmint:
Illeszkedes kozrefogasa:
$ echo "szoveg" | sed "s/.*/XXX&YYY/"
> XXXszovegYYY
"Kivalasztas": (idiota kod, ne probaljatok ki)
$ echo "XXXszovegYYY" | sed "s/XXX*YYY/&/"
> szoveg
'sed' megoldas:
$ echo "XXXszovegYYY" | sed "s/XXX\(.*\)YYY/\1/"