Toon posts:

[perl] verschil resultaat grep en perl

Pagina: 1
Acties:

Verwijderd

Topicstarter
Ik heb een directory met een groot aantal logfiles in plat tekstformaat. Ik wil weten hoevaak een bepaalde string totaal voorkomt in alle logfiles.

# grep ",1001," * | wc -l
143153
# perl -e 'while (<>) {$c++ if /,1001,/} print $c' *
143317
#

Waarom hebben beiden een ander idee over het aantal keer dat ,1001, voorkomt ?

  • muba
  • Registratie: April 2002
  • Laatst online: 19-10-2013

muba

Prince of Persia!

Mijn suggestie zou zijn dat grep misschien regels waarin 1001 2x voorkomt ook 2x telt. Ik weet niet genoeg van Linux/grep af om te weten of dit klopt, maar ik weet wel dat je met de regexp van Perl in elk geval alle regels waarin 1001 voorkomt, maar 1x matcht, ook al komt de string er wel 100x in voor.

Toch klopt dit niet want het resultaat van Perl is groter dan het resultaat van grep. Kweenie dus, eigenlijk.

Reporter: Mister Gandhi, what do you think of western civilisation?
Gandhi: I think it would be a good idea


  • Grijze Vos
  • Registratie: December 2002
  • Laatst online: 21-02 23:50
grep vind een enorme lijst van argumenten (files dus) niet leuk. Zou het in die hoek zitten?

Op zoek naar een nieuwe collega, .NET webdev, voornamelijk productontwikkeling. DM voor meer info


  • Eelis
  • Registratie: Januari 2003
  • Laatst online: 21-02-2015
.

[ Voor 99% gewijzigd door Eelis op 18-02-2015 19:53 ]