The UNIX and Linux Forums  


Go Back   UNIX og Linux Forums > Top Forums > Shell programmering og Skripting
.
google unix.com



Shell programmering og Skripting Post spørsmål om ksh, csh, SH, Bash, Perl, PHP, SED, awk og ANDRE shell scripts og Shell skriptespråk her.

Mer UNIX og Linux Forum Emner Du kan finne nyttig
Tråd Tråd startet Forum Svar Siste innlegg
SED Søk Mønster og erstatt med mønster racbern Shell programmering og Skripting 4 03-15-2008 05:59
Perl onliner å søke siste linje med en forekomst av et mønster ammu Shell programmering og Skripting 4 01-31-2008 01:09
Perl: Søk etter streng på linje deretter søke og erstatte tekst Crypto Shell programmering og Skripting 4 01-04-2008 10:24
Søke etter et mønster fra resultatet av søket boopathi_d Shell programmering og Skripting 3 12-05-2007 09:54
Søk fil for mønster og hente noen linjer før mønster frustrated1 Shell programmering og Skripting 2 12-22-2005 03:41

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 Søk i denne tråden Rate Thread Visningsmoduser
  #1 (permalink)  
Old 08-29-2008
openspark openspark is offline
Registrert bruker
  
 

Bli Dato: Aug 2008
Sted: New Jersey
Innlegg: 22
Smile Perl Søk mønster feil

Hei,

  1. Jeg prøver å grep for to mønstre fra et sett av 820 Apache webserver logger
  2. Når jeg forsøker å søke mønsteret med en datostemplet og bruke et jokertegn * for ex: / 28/Aug/2008: 21 * / for å få alle loggoppføringer for den aktuelle timen som er 21. time får jeg feil. Vær vennlige utleie meg vite hvor jeg kan gå galt.

Følgende er kommandoen jeg prøver å bruke:

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 funnet hvor operatøren forventet at-e linje 1, nær "/ 28/Aug"
(Manglende operatør før august?)
syntaksfeil på-e linje 1, nær "/ 28/Aug"
Søk etter mønster ikke avsluttet på-e linje 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 funnet hvor operatøren forventet at-e linje 1, nær "/ 28/Aug"
(Manglende operatør før august?)
syntaksfeil på-e linje 1, nær "/ 28/Aug"
Søk etter mønster ikke avsluttet på-e linje 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 funnet hvor operatøren forventet at-e linje 1, nær "/ 28/Aug"
(Manglende operatør før august?)
syntaksfeil på-e linje 1, nær "/ 28/Aug"
Søk etter mønster ikke avsluttet på-e linje 1.



Takk

Sist endret av openspark; 08-29-2008 kl 12:54.. Årsak: Måtte endre karakter og til mer informasjon,
  #2 (permalink)  
Old 09-02-2008
bwreed bwreed is offline
Registrert bruker
  
 

Bli Date: Mar 2002
Beliggenhet: Saint Paul, MN
Innlegg: 6
Den / blir behandlet som søkeordet skilletegn. Put doble anførselstegn rundt datoen strengen. Dessuten trenger du ikke det *. I 28/Aug/2008 /: 21 * som virkelig betyr / 28/Aug/2008: 2 og null eller flere seg. Avhengig av hvor strengt du vil kampen, kan du bruke denne:
print if (m "/ 28/Aug/2008: 21" ...
Men jeg tror du har andre problemer i kommandoen.

Jeg finner at komplekse one-liners som dette er bedre lages først som en multi-line perl skriptfil. Få det fungerer, så komprimere det ned til én linje, og deretter bruke det med perl -E.
Closed Thread

Hugseliste

Thread Tools Søk i denne tråden
Søk i denne tråden:

Avansert søk
Visningsmoduser Ranger denne tråden
Ranger denne tråden:

Innleggsaktivitet Regler
Du kanskje ikke poste nye tråder
Du kanskje ikke poste svar
Du kanskje ikke post vedlegg
Du kanskje ikke redigere innleggene dine

BB-kode er
Smilefjes er
[IMG] koden
HTML-koden Av
Pingbacks er
Refbacks er




Alle klokkeslett er GMT -4. Nå er klokken 02:18.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Language Translations Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX og Linux Forums Content Copyright © 1993-2009. All Rights Reserved.Ad Management by RedTyger

Content Relevant nettadresser av vBSEO 3.2.0