[sed] traag als dikke (nou ja je weet wel)...

Pagina: 1
Acties:

  • The - DDD
  • Registratie: Januari 2000
  • Laatst online: 08-02 11:53
Toevallig vrijdag met een collega een andere collega overtuigd van de kracht van een commandline met grep, sed, sort en uniq.

Daarbij met deze commandline bezig geweest:
code:
1
grep -i agsCode inputfile |sed 's/.*agsCode.\(.*\)..agsCode.*/\1/' > war


Hier maak ik gebruik van de standaard met Tiger meegeleverde sed. Let me tell you.... traaaaaaaag als hele dikke viezigheid in een rietje. Na 10 minuten heb ik er maar een einde aan gemaakt.

Doe ik echter deze commandline:
code:
1
grep -i agsCode inputfile |gnused 's/.*agsCode.\(.*\)..agsCode.*/\1/' > war

Dan is het met 2 seconden gebeurt. Hoe kan het dat een middels MacPort geinstalleerde Gnu sed veel sneller is dan dat ding wat door Apple meegeleverd wordt?

De file die met grep opgepakt wordt is een 10 MB aan XML data. Niks ingewikkelds.

Het stomme is dus dat ik niks hierover kan vinden tot nu toe op internet. Ik ben dus nogal benieuwd of er mensen zijn die gelijke ervaringen hebben met sed.

  • Q
  • Registratie: November 1999
  • Laatst online: 20:10

Q

Au Contraire Mon Capitan!

Ik heb mijn iTunes Library van 17 meg gepakt. Ik kan de exacte regex niet gebruiken, maar een simpele search/replace gaat in 2 seconden.

code:
1
grep -i key iTunes\ Music\ Library.xml |sed 's/key/1/' > war


Dus als er een probleem is, dan is het waarschijnlijk met de regex handling.

Wat ik hier doe is denk ik nuttig om zelf uit te testen, mits de iTunes Library zo groot is, omdat je dan
al meteen kunt vaststellen dat er iets mis is mocht dit bij 'jou' wel heel lang duren.

[ Voor 39% gewijzigd door Q op 28-05-2007 10:35 ]


  • dawuss
  • Registratie: Maart 2001
  • Laatst online: 01-02 20:46

dawuss

gadgeteer

Ik moet zeggen dat ik die ervaring nog nooit heb gehad. Heb je geprobeerd sed binnen een debugger oid te draaien? Ik ben wel benieuwd waar het aan ligt namelijk :)

Weet je zeker dat het geen I/O lock was? Dat je output file blokkeert ofzo?

micheljansen.org
Fulltime Verslaafde Commandline Fetisjist ©