Grep submatch

Pagina: 1
Acties:
  • 380 views

Onderwerpen


Acties:
  • 0 Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 22:16
Ik wist niet helemaal waar ik dit topic moest plaatsen. Het gaat namelijk om reguliere expressies icm grep. En grep wordt vaak gebruikt onder Linux (draai zelf OSX) dus dacht ik gooi het hier maar neer. Maar misschien weet een modje een betere plek.

Ik wil een quote of the day uit een XML file lezen. Nu kom ik op het volgende uit:

code:
1
curl http://feeds.feedburner.com/quotationspage/qotd | grep -o "<description>(.*)"


Wat me een lijstje van quote's geeft, maar het <description> zelf staat er ook bij, nu is het vaak in programmeertalen zo dat je met de ( ) een submatch aan kan geven en dat je dat dan terug wilt, maar hoe gaat dit in grep in zijn werk?

Thanks :)

"grep --help | grep submatch" gaf geen nuttig resultaat terug ;)

[ Voor 5% gewijzigd door ZpAz op 19-06-2011 18:49 ]

Tweakers Time Machine Browser Extension | Chrome : Firefox


Acties:
  • 0 Henk 'm!

Anoniem: 26306

De makkelijkste manier om dit te doen is om het resultaat weer door te sturen naar het volgende commando. Met awk, cut, sed of nog weer een grep kun je verder. Maak niet de fout om te denken dat het allemaal met grep moet kunnen.

Acties:
  • 0 Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 22:16
Thanks, hiermee komt het beter uit:

code:
1
curl http://feeds.feedburner.com/quotationspage/qotd | egrep -o "<description>(.*)\"" | sed  's/<\/description>/ /' | sed 's/<description>/ /'


Ik wilde het eerst zo doen:

code:
1
curl http://feeds.feedburner.com/quotationspage/qotd | grep -o "<description>\"(.*)" | sed  's/<\/?description>/ /'


om zo direct <description> & </description> te krijgen, maar dat werkte helaas niet.

Tweakers Time Machine Browser Extension | Chrome : Firefox


Acties:
  • 0 Henk 'm!

  • MartinMeijerink
  • Registratie: Juli 2008
  • Laatst online: 20:48

MartinMeijerink

Niet van deze wereld

Ik heb blijkbaar een andere curl dan jou, maar met wget doe ik het als volgt:
code:
1
wget 2>/dev/null -O - http://feeds.feedburner.com/quotationspage/qotd|grep '<description>'|cut -d\" -f2

Dan ben je ook meteen van die eerste twee regels af...

An unbreakable toy is useful to break other toys


Acties:
  • 0 Henk 'm!

  • ZpAz
  • Registratie: September 2005
  • Laatst online: 22:16
Heb bereikt wat ik wilde bereiken een Quote of the Day op mijn desktop. Thanks :)

Afbeeldingslocatie: http://cl.ly/7iaN/Screen_shot_2011-06-19_at_7.30.29_PM_2.png

Tweakers Time Machine Browser Extension | Chrome : Firefox


Acties:
  • 0 Henk 'm!

  • Victorius737
  • Registratie: Augustus 2005
  • Laatst online: 25-06 11:17
Ziet er goed uit , Conky op OSX?

Acties:
  • 0 Henk 'm!

  • sam.vimes
  • Registratie: Januari 2007
  • Laatst online: 08-06 08:44
Anoniem: 26306 schreef op zondag 19 juni 2011 @ 18:53:
De makkelijkste manier om dit te doen is om het resultaat weer door te sturen naar het volgende commando. Met awk, cut, sed of nog weer een grep kun je verder. Maak niet de fout om te denken dat het allemaal met grep moet kunnen.
Sorry, maar je komt met dit advies in aanmerking voor de "useless use of grep award".
http://www.smallo.ruhr.de/award.html#grep
sed en awk hebben zelf ook een krachtige regexp-matcher aan boord, waardoor het gebruik van grep als voorfilter niet nodig is.
Hier is een oplossing zonder grep.
curl -sL http://feeds.feedburner.com/quotationspage/qotd|sed -n 's/^<description>//p'

Acties:
  • 0 Henk 'm!

  • Darkstar
  • Registratie: September 2007
  • Laatst online: 27-01-2023

Darkstar

BSOFH

Ik denk eerder Geektool

 MacBook Pro | iPhone 6 64GB Space Gray | iPad (2017) | Apple Watch series 0 - Some people just need a high five... in the face... with a chair


Acties:
  • 0 Henk 'm!

Anoniem: 26306

sam.vimes schreef op dinsdag 21 juni 2011 @ 11:30:

Sorry, maar je komt met dit advies in aanmerking voor de "useless use of grep award".
Ik geef 4 alternatieven die allemaal werken. Lul niet :z

Acties:
  • 0 Henk 'm!

  • CAPSLOCK2000
  • Registratie: Februari 2003
  • Laatst online: 28-06 12:29

CAPSLOCK2000

zie teletekst pagina 888

het niveau daalt - topic gesloten

This post is warranted for the full amount you paid me for it.

Pagina: 1

Dit topic is gesloten.