![]() |
|
|
google unix.com
|
|||||||
| Forums | Registrer | Forum Rules | Lenker | Album | FAQ | Medlemsliste | Kalender | Søke | Dagens innlegg | Marker forumene som lest |
| 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 |
![]() |
|
|
LinkBack | Thread Tools | Søk i denne tråden | Rate Thread | Visningsmoduser |
|
|
|
||||
|
Hei,
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, |
|
||||
|
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. |
![]() |
| Hugseliste |
| Thread Tools | Søk i denne tråden |
| Visningsmoduser | Ranger denne tråden |
|
|