Go Back   Το UNIX και Linux Forums > Top Forums > Ο προγραμματισμός και η Shell Scripting
.
Google Site



Ο προγραμματισμός και η Shell Scripting Post ερωτήσεις για KSH, CSH, SH, BASH, Perl, PHP, sed, AWK ΑΛΛΑ και shell scripts και shell scripting γλώσσα εδώ.

Closed Thread
English Japanese Spanish French German Portuguese Italian Powered by Powered by Google
 
Εργαλεία Θέματος Αναζήτηση αυτό το νήμα Βαθμολογήστε Νήμα Display Modes
  #1 (Permalink)  
Old 06-10-2009
Εγγεγραμμένος χρήστης
 

Εγγραφείτε Ημερομηνία: Αύγουστος 2007
Τοποθεσία: Bangalore
Δημοσιεύσεις: 379
νήμα μετράνε

Γεια σου,

Έχω ένα αρχείο στο οποίο υπάρχουν πολλά νήματα. Θέλω να υπολογίζουν τον αριθμό των μοναδικών threads.Here νήμα είναι tid αξία.
Μου μοιάζει αυτό το logfile --


Κωδικός:
Wed May 20 05:22:53.993 2009 Morocco Standard Time INFO:    pid 2172 tid 688: 17: 10106931: ArAuthFrameworkImpl::doPreAuth::1:10106931:: Authentication mechanism returned [0] for AuthIdentity []
Wed May 20 05:22:53.993 2009 Morocco Standard Time INFO:    pid 2172 tid 688: 170: 10106931: Arcot Native Server: recvd AA_BIN_MSG_VER_CHG
Wed May 20 05:22:57.634 2009 Morocco Standard Time INFO:    pid 2172 tid 3352: 170: 10106932: Arcot Native Server: recvd AA_BIN_MSG_GET_WLT
Wed May 20 05:22:57.634 2009 Morocco Standard Time INFO:    pid 2172 tid 3352: 170: 10106932: Session tracker Id associated with generate challenge[1:10106932]

Όπως αυτό υπάρχουν χιλιάδες κλωστές σε ένα αρχείο.
Θέλω να συλλάβει τη μοναδική κλωστές και μετράνε οι αριθμοί.
Κάθε είδους βοήθεια ή πρόταση θα είναι πολύ χρήσιμη για μένα.

Ευχαριστώ
NT
Sponsored Links
  #2 (Permalink)  
Old 06-10-2009
Εγγεγραμμένος χρήστης
 

Εγγραφείτε Ημερομηνία: Αύγουστος 2004
Τοποθεσία: Ινδία
Δημοσιεύσεις: 379

Κωδικός:
 awk 'BEGIN { FS1="[: ]+"}
{
        FS=FS1
        print $15
}' data > outfile

for tid in `cat outfile | /bin/sort -u`
do
        echo $tid appears `grep $tid outfile | wc -l` times.
done

  #3 (Permalink)  
Old 06-10-2009
radoulov's Avatar
--
 

Εγγραφή: Ιανουάριος 2007
Τοποθεσία: Варна, България / Milano, Italia
Δημοσιεύσεις: 3220

Κωδικός:
perl -ne'
  / tid (\d+)/ && $tid{$1}++;
  print map "$_: $tid{$_}\n", keys %tid
    if eof
  ' infile

  #4 (Permalink)  
Old 06-10-2009
Συντονιστής
 

Εγγραφή: Φεβρουάριος 2007
Τοποθεσία: Κάτω Χώρες
Δημοσιεύσεις: 4962
Δοκιμάστε αυτό:


Κωδικός:
awk '{a[$13]++}END{for(i in a){print i, a[i]}}' file

  #5 (Permalink)  
Old 06-10-2009
Εγγεγραμμένος χρήστης
 

Εγγραφείτε Ημερομηνία: Αύγουστος 2007
Τοποθεσία: Bangalore
Δημοσιεύσεις: 379
Απόσπασμα:
Αρχικά Αποστολέας radoulov View Post
Κωδικός:
perl -ne'
  / tid (\d+)/ && $tid{$1}++;
  print map "$_: $tid{$_}\n", keys %tid
    if eof
  ' infile

Γεια σου,

Είμαι με τη χρήση αυτού του κώδικα και είναι που μου μετράει σύνολο συμπεριλαμβανομένων των repated αυτά. Θέλω απλά να μετρήσει τα μοναδικής σπειρωμάτων. Παρακαλούμε στείλτε τις προτάσεις σας μου τι πρέπει να κάνουμε για να επιτευχθεί αυτό.


Κωδικός:
#!/usr/bin/perl -w

print "Hello, World...\n";
my $logFile = $ARGV[0]; 
die "usage: $0 <logFile>" unless $logFile; 
die "Logfile $logFile doesn't exist" unless -f "$logFile"; 
open(my $log, "<", $logFile) or die "Can't open $logFile for reading."; 
print "Processing file $logFile...\n"; 
#my $authenticates = {}; 
my $n = 0;
my $TIDCount = 0;
while(my $line = <$log>) { 
    # Outer loop. Look for an interesting part of the log file. 
	$n++; 
    $line =~ tr/\r\n//d; 
	if($line =~ /tid (\d+)/){
		$TIDCount++;
        next;
	}
}
print "Thread count for the logfile is $TIDCount\n";

ευχαριστώ
NT
  #6 (Permalink)  
Old 06-10-2009
radoulov's Avatar
--
 

Εγγραφή: Ιανουάριος 2007
Τοποθεσία: Варна, България / Milano, Italia
Δημοσιεύσεις: 3220
Θα πρέπει να χρησιμοποιήσετε κάτι σαν αυτό:


Κωδικός:
 ++$TIDcount 
    if / tid (\d+)/ && !$tidUnique{$1}++;

Δεδομένου σας δείγμα δεδομένων:


Κωδικός:
% perl -nle'
  ++$c if / tid (\d+)/ && !$tid{$1}++;
  print $c if eof
  ' infile
2

  #7 (Permalink)  
Old 06-10-2009
vgersh99's Avatar
Συντονιστής
 

Εγγραφή: Φεβρουάριος 2005
Τοποθεσία: Boston, MA
Δημοσιεύσεις: 5200
Δανεισμός από Franklin52:

Κωδικός:
awk '{a[$13]++}END{for(i in a) if (a[i]==1) uniq++; print uniq }' file

Sponsored Links
Closed Thread

Σελιδοδείκτες

Εργαλεία Θέματος Αναζήτηση αυτό το νήμα
Αναζήτηση αυτό το νήμα:

Advanced Search
Display Modes Βαθμολογήστε αυτό το νήμα
Βαθμολογήστε αυτό το νήμα:

Απόσπαση Κανονισμού
Εσύ δεν μπορεί να υστέρων νέα νήματα
Εσύ δεν μπορεί να μετά απαντήσεις
Εσύ δεν μπορεί να μετά συνημμένα
Εσύ δεν μπορεί να επεξεργαστείτε τις θέσεις

BB κωδικός είναι Σε λειτουργία
Smilies είναι Σε λειτουργία
[IMG] κωδικός Σε λειτουργία
Κώδικα HTML είναι Εκτός χρήσης
Trackbacks είναι Σε λειτουργία
Pingbacks είναι Σε λειτουργία
Refbacks είναι Εκτός χρήσης


Περισσότερα UNIX και Linux Forum Θέματα που μπορεί να σας Χρήσιμη
Νήμα Thread Starter Φόρουμ Απαντήσεις Τελευταίο μήνυμα
Πώς να μετρήσετε το ρεκόρ μετράνε σε EBCDIC αρχείο. oracle8 UNIX για Ανδρείκελα Ερωτήσεις & Απαντήσεις 1 07-26-2006 08:22 μμ
νήμα μετράνε χρησιμοποιώντας κορυφή supahoop Solaris 0 03-14-2006 12:12 μμ
Πώς να ακυρώσει ένα νήμα με ασφάλεια από το αρχικό νήμα; alan.zhao Προγραμματισμός 1 04-29-2005 11:07 AM



Όλες οι ώρες είναι GMT -4. Η ώρα τώρα είναι 04:23 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Γλώσσα Μεταφράσεις Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
Η UNIX και Linux Φόρουμ Content Copyright © 1993-2010. Όλα τα δικαιώματα Reserved.Ad διαχείριση από RedTyger

Περιεχόμενο σχετικό με τις διευθύνσεις URL vBSEO 3.2.0