Go Back   Die UNIX-und Linux-Foren > Top Foren > Shell Programmierung und Scripting
.
Google-Website



Shell Programmierung und Scripting Post Fragen zu ksh, csh, sh, bash, Perl, PHP, sed, awk und anderen Shell-Skripte und Shell-Scripting-Sprachen hier.

Closed Thread
English Japanese Spanish French German Portuguese Italian Powered by Powered by Google
 
Thread Tools Suche diesen Thread Rate Thread Anzeige-Modi
  #8 (permalink)  
Old 11-17-2008
Registrierte Nutzer
 

Join Date: Oct 2007
Beiträge: 134
Ihre Arbeitsweise. großartig.

Können Sie mir bitte helfen, um das Skript, wie es berechnet wie unten aus der Ausgabedatei -

Wie viele mit CREATE RESP: 3 *
Wie viele mit CREATE RESP: 9 *
Wie viele mit CREATE RESP: 9?3?????
Wie viele mit CREATE RESP: 9?3?96


CREATE
RESP: 3010


CREATE
RESP:911364896

DELETE
RESP: 0

SET
RESP: 911265678
Sponsored Links
  #9 (permalink)  
Old 11-17-2008
radoulov's Avatar
--
 

Join Date: Jan 2007
Lage: Варна, България / Milano, Italia
Posts: 3220
Und natürlich, die insgesamt 9 * wird die Anzahl der 9?? 3 ...


Code:
perl -nle'
  BEGIN { $/ = "</log>"; $, = "\n"; $\ = "\n\n" }
  print /<fullOperation>(.*?):.*<fullResult>(.*?:.*?)[:;]/s;
  if ($1 eq "CREATE") {
    $r = (split /:/, $2)[1];
    $r =~ /^3/ and $r3++;
    $r =~ /^9/ and $r9++;
    $r =~ /9\d{2}3\d{5}/ and $r93++;
    $r =~ /9\d{2}3\d{3}96/ and $r9396++;
    }
  END {
    printf "3* : %d\n9* : %d\n9??3????? : %d\n9??3???96 : %d\n",
    $r3, $r9, $r93, $r9396;
    }' infile

  #10 (permalink)  
Old 11-17-2008
Registrierte Nutzer
 

Join Date: Oct 2007
Beiträge: 134
Oaaaao ........ seine wirklich toll. Ich erwartet, dass die Ausgabe auf diese Weise.

Ich muss hinzufügen, die SET-, DELETE-Logik mit den unten CREATE. Beispiel -

Wie viele SET mit RESP: 3 *
Wie viele SET mit RESP: 9 *
Wie viele SET mit RESP: 9? 3 ?????
Wie viele SET mit RESP: 9? 3?? 96

Darf ich das Skript, wie unter -

perl NLE-"
BEGIN ($ / \u003d "</ log>", $, \u003d "\ n"; $ \ \u003d "\ n \ n")
Print / <fullOperation> (.*?):.*< fullResult >(.*?:.*?)[:;]/ s;
if ($ 1 eq "Erstellen") (
$ r \u003d (split /: /, $ 2) [1];
$ r \u003d ~ / ^ 3 / und $ r3 + +;
$ r \u003d ~ / ^ 9 / und $ r9 + +;
$ r \u003d ~ / 9 \ d (2) 3 \ d (5) / und $ r93 + +;
$ r \u003d ~ / 9 \ d (2) 3 \ d (3) 96 / $ und r9396 + +;
)
if ($ 1 eq "SET") (
$ r \u003d (split /: /, $ 2) [1];
$ r \u003d ~ / ^ 3 / und $ r3 + +;
$ r \u003d ~ / ^ 9 / und $ r9 + +;
$ r \u003d ~ / 9 \ d (2) 3 \ d (5) / und $ r93 + +;
$ r \u003d ~ / 9 \ d (2) 3 \ d (3) 96 / $ und r9396 + +;
)

END (
printf "CREATE 3 *:% d \ nCREATE9 *:% d \ nCREATE9? ????? 3:% d \ nCREATE9? 3?? 96:% d \ n",
$ r3, $ r9, r93 $, $ r9396;

printf "SET3 *:% d \ nSET9 *:% d \ nSET9? ????? 3:% d \ nSET9? 3?? 96:% d \ n",
$ r3, $ r9, r93 $, $ r9396;

) 'Infile
  #11 (permalink)  
Old 11-17-2008
radoulov's Avatar
--
 

Join Date: Jan 2007
Lage: Варна, България / Milano, Italia
Posts: 3220
Gut,
Sie brauchen mehr Code
Try something like this (einige Erklärungen müssen möglicherweise angepasst werden):


Code:
perl -wnle'
BEGIN { 
    $/ = "</log>"; 
    our %pats = qw/3* 3 9* 9 9??3????? 9\d{2}3\d{5} 9??3???96 9\d{2}3\d{3}96/;
    } 
  our ($r, $op, $res, $in);    
  if (($op, $r) = /<fullOperation>(.*?):.*<fullResult>(.*?:.*?)[:;]/s) {
    printf "%s\n%s\n\n", $op, $r;
    $res = (split /:/, $r)[1];
    for (keys %pats) {
      $ops{$op}{$_}++ if $res =~ /^$pats{$_}/;
      }
    }
END {
    $, = " ";
    print "-" x 20;
    while (my ($k, $v) = each %ops) {
      printf $k, ": ";
      while (my ($k, $v) = each %$v) {
        print "\t$k : $v\n";
      }
    }
  }' infile


Zuletzt bearbeitet von radoulov; am 11-17-2008 04:31 PM..
  #12 (permalink)  
Old 11-18-2008
Registrierte Nutzer
 

Join Date: Oct 2007
Beiträge: 134
Es scheint zu groß. Ich habe gerade einmal testen. Haben Sie eine schöne Ausgabe. Ich brauche mehr zu testen. Aber ich denke Sie den Code richtig.
  #13 (permalink)  
Old 11-18-2008
Registrierte Nutzer
 

Join Date: Oct 2007
Beiträge: 134
Hay Buddy,

leider stört dich wieder. Aber Ihr Skript ist wirklich gut. Ich hoffe, unten ist mein letzter Wunsch

Ich brauche, um die "SET"-Strings aus der Datei.
Und gerade jetzt, wenn ich die Befehle Ich sehe in allen Ausgaben in meinem Bildschirm -

CREATE
RESP: 3010

CREATE
RESP: 911364896

DELETE
RESP: 0

SET
RESP: 911265678


------------------
Anzahl der DELETE .....
count SET .....


Wie kann ich sehen, der nur die Ergebnisse der Zählung erstellen und löschen

-----------
Anzahl der DELETE ...
Anzahl der SET .....


Vielen Dank .. / / lila
  #14 (permalink)  
Old 11-18-2008
radoulov's Avatar
--
 

Join Date: Jan 2007
Lage: Варна, България / Milano, Italia
Posts: 3220
Ja:


Code:
perl -wnle'
BEGIN { 
    $/ = "</log>"; 
    our %pats = qw/3* 3 9* 9 9??3????? 9\d{2}3\d{5} 9??3???96 9\d{2}3\d{3}96/;
    } 
  our ($r, $op, $res, $in);    
  if (($op, $r) = /<fullOperation>(CREATE|DELETE):.*<fullResult>(.*?:.*?)[:;]/s) {
    $res = (split /:/, $r)[1];
    for (keys %pats) {
      $ops{$op}{$_}++ if $res =~ /^$pats{$_}/;
      }
    }
END {
    $, = " ";
    print "-" x 20;
    while (my ($k, $v) = each %ops) {
      printf $k, ": ";
      while (my ($k, $v) = each %$v) {
        print "\t$k : $v\n";
      }
    }
  }' infile

Sponsored Links
Closed Thread

Lesezeichen

Thread Tools Suche diesen Thread
Suche diesen Thread:

Erweiterte Suche
Anzeige-Modi Rate this thread
Rate this thread:

Forumregeln
Du möglicherweise nicht neue Themen
Du möglicherweise nicht nach Antworten
Du möglicherweise nicht post-Anlagen
Du möglicherweise nicht bearbeiten Sie Ihre Beiträge

BB-Code ist Auf
Smilies sind Auf
[IMG] Code Auf
HTML-Code ist Aus
Trackbacks sind Auf
Pingbacks sind Auf
Refbacks sind Aus


Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
Faden Thread Starter Forum Antworten Last Post
Suche ")" mit egrep - egrep: Syntax-Fehler sagarjani UNIX for Dummies Questions & Answers 7 10-14-2008 08:30 AM
egrep / grep Ergebnis von mehr Dateien tvrman Shell Programmierung und Scripting 3 08-07-2008 09:29 AM
Egrep Spickzettel überall? Suchen Sie nach dem Sinn von egrep-c leelm UNIX for Dummies Questions & Answers 2 01-11-2008 03:37 PM
perl - Kopieren von Dateien BG_JrAdmin Shell Programmierung und Scripting 1 12-13-2007 09:50 PM
Perl-Upload von Dateien sstevens UNIX für Fortgeschrittene und Experten 16 02-24-2004 03:03 PM



Alle Zeiten sind GMT -4. Es ist jetzt 10:19 PM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Ltd. Sprachliche Übersetzungen Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Die UNIX-und Linux-Foren Inhalt-Copyright © 1993-2010. Alle Rechte Reserved.Ad Management by RedTyger

Content Relevant URLs durch vBSEO 3.2.0