The UNIX and Linux Forums  

Go Back   De Unix-en Linux Forum > Top Forums > Programmeren en Shell Scripting
.
google unix.com



Programmeren en Shell Scripting Post vragen over KSH, CSH, SH, Bash, Perl, PHP, sed, awk en andere shell scripts en shell scripting talen hier.

Meer UNIX en Linux Forum Onderwerpen Misschien vindt u Helpful
Draad Thread Starter Forum Antwoorden Last Post
SED zoekpatroon en Vervang de patroon racbern Programmeren en Shell Scripting 4 03-15-2008 05:59
Perl onliner om te zoeken in de laatste regel met een uitbraak van een patroon munitie Programmeren en Shell Scripting 4 01-31-2008 01:09
Perl: Zoek een string op de lijn vervolgens zoek en vervang tekst Crypto Programmeren en Shell Scripting 4 01-04-2008 10:24
Zoeken naar een patroon uit het zoekresultaat boopathi_d Programmeren en Shell Scripting 3 12-05-2007 09:54
Zoek bestand voor patroon en grijper sommige lijnen vóór patroon frustrated1 Programmeren en Shell Scripting 2 12-22-2005 03:41 PM

Closed Thread
English Japanese Spanish French German Portuguese Italian Dutch Swedish Russian Norwegian Hungarian Hebrew Danish Bulgarian Greek Powered by Powered by Google
 
LinkBack Thread Tools Zoeken in deze Thread Rate Thread Display Modes
  #1 (permalink)  
Old 08-29-2008
openspark openspark is offline
Geregistreerde gebruiker
  
 

Join Date: Aug 2008
Locatie: New Jersey
Posts: 22
Smile Perl Zoeken patroon fout

Hoi,

  1. Ik probeer grep voor twee patronen uit een set van 820 logs Apache webserver,
  2. Als ik probeer om het patroon met een datumstempel zoeken en een jokerteken * gebruiken voor ex: / 28/Aug/2008: 21 * / alle logboekvermeldingen voor dat uur dat is 21 uur krijg ik foutmeldingen krijgen. Alstublieft laat me weten waar ik ga mis.

Het volgende is het commando Ik probeer te gebruiken:

perl -ne 'print if (/ mckinskey@futuron.com /? ($ c \u003d 1): (- $ c> 0)); print if (/ 28/Aug/2008: 21 * /? ($ d \u003d 1 ): (- $ d> 0)) 'request.log *



[m78i5 @ serv125 ~] $ perl -ne 'print if (/ mckinskey@futuron.com /? ($ c \u003d 1): (- $ c> 0)); print if (/ 28/Aug/2008: 01:35 * /? ($ d \u003d 1): (- $ d> 0)) 'request.log *
Bareword gevonden waar exploitant verwacht op-e lijn 1, in de buurt "/ 28/Aug"
(Missing exploitant voor augustus?)
syntax error at-e line 1, in de buurt "/ 28/Aug"
Zoek patroon niet te eindigen op-e lijn 1.

[m78i5 @ serv125 ~] $ perl -ne 'print if (/ mckinskey@futuron.com /? ($ c \u003d 1): (- $ c> 0)); print if (/ 28/Aug/2008: 01 * /? ($ d \u003d 1 ): (- $ d> 0)) 'request.log *
Bareword gevonden waar exploitant verwacht op-e lijn 1, in de buurt "/ 28/Aug"
(Missing exploitant voor augustus?)
syntax error at-e line 1, in de buurt "/ 28/Aug"
Zoek patroon niet te eindigen op-e lijn 1.

[m78i5 @ serv125 ~] $ perl -ne 'print if (/ mckinskey@futuron.com /? ($ c \u003d 1): (- $ c> 0)); print if (/ 28/Aug/2008: 21 * /? ($ d \u003d 1 ): (- $ d> 0)) 'request.log *
Bareword gevonden waar exploitant verwacht op-e lijn 1, in de buurt "/ 28/Aug"
(Missing exploitant voor augustus?)
syntax error at-e line 1, in de buurt "/ 28/Aug"
Zoek patroon niet te eindigen op-e lijn 1.



Bedankt

Laatst bewerkt door openspark; op 08.29.2008 12:54.. Reden: Had naar een teken te veranderen en extra informatie toe te voegen,
  #2 (permalink)  
Old 09-02-2008
bwreed bwreed is offline
Geregistreerde gebruiker
  
 

Join Datum: maart 2002
Plaats: Saint Paul, MN
Posten: 6
De / wordt behandeld als de zoekterm delimiter. Zet dubbele aanhalingstekens rond de datum string. Ook hoeft u niet de *. In / 28/Aug/2008: 21 * dat werkelijk betekent / 28/Aug/2008: 2 en nul of meer Ones. Afhankelijk van hoe streng je wilt de wedstrijd, kan u dit:
print if (m "/ 28/Aug/2008: 21" ...
Maar ik denk dat u nog andere problemen in uw opdracht.

Ik vind dat complexe one-liners als deze zijn beter eerst gedaan als een multi-line perl script. Get it werkt, dan comprimeren tot een regel, gebruik dan het met perl -e.
Closed Thread

Bladwijzers

Thread Tools Zoeken in deze Thread
Zoeken in deze Thread:

Uitgebreid zoeken
Display Modes Beoordeel deze draad
Beoordeel deze draad:

Posting Regels
Jij mag niet Post Nieuwe threads
Jij mag niet na antwoorden
Jij mag niet post attachments
Jij mag niet bewerk uw berichten

BB code is Aan
Smilies zijn Aan
[IMG] code Aan
HTML-code is Uit
Trackbacks zijn Aan
Pingbacks zijn Aan
Refbacks zijn Aan




Alle tijden zijn GMT -4. Het is nu 11:38.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Vertalingen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
De Unix-en Linux Forums Copyright © 1993-2009. Alle rechten Reserved.Ad Beheer door RedTyger

Content Relevante URL's door vBSEO 3.2.0