The UNIX and Linux Forums  
Ciao e benvenuto da parte degli Stati Uniti al UNIX e Linux Forum! Grazie per la visita ed unirsi alla nostra Comunità Globale.

Go Back   UNIX e Linux Forum > Inizio Forum > Shell scripting e di programmazione
.
google unix.com



Shell scripting e di programmazione Pubblica domande su KSH, CSH, SH, Bash, Perl, PHP, sed, awk e da altri script di shell e linguaggi di scripting shell qui.

Più di UNIX e Linux Forum Argomenti potreste trovare utili
Filo Thread Starter Forum Risposte Ultimo Post
Libro Giallo assistenza necessaria FL1 UNIX for Dummies Domande & Risposte 2 11-15-2007 04:04 PM
Script Needed urgenti in guscio o PERL !!!!!!!!!!!!!!!!!!!! aajan Shell scripting e di programmazione 1 10-24-2007 04:28 AM
Script in Perl assistenza; incolla in parola comando esterno bru Shell scripting e di programmazione 10 02-23-2007 04:04 AM
L'assistenza necessaria. 12yearold UNIX for Dummies Domande & Risposte 4 07-07-2006 03:26 AM
NFS mount assistenza necessaria ... Heron UNIX for Dummies Domande & Risposte 2 03-21-2005 04:31 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 Cerca in questo Thread Rate Thread Modalità di visualizzazione
  #1 (permalink)  
Old 03-17-2009
SkySmart SkySmart is offline
Utente Registrato
  
 

Iscriviti Data: dicembre 2006
Posti: 50
Assistenza necessaria con script perl

Ok, theres un file di registro contenente le seguenti. Permette di chiamare il file di log log_fantastic:

2009/03/16 21:42:45 UTENTE: tonnabo - MAC: 0014BF2D385A - STATUS_ID: 30 - STATO: ERRORE
2009/03/16 21:42:45 UTENTE: tonnabo - MAC: 001310AC120D - STATUS_ID: 15 - STATO: OK
2009/03/16 21:42:45 UTENTE: tonnabo - MAC: 001DD9277095 - STATUS_ID: 20 - STATO: ERRORE


Voglio scrivere un perl script che leggere il contenuto di log_fantastic e uscita solo le righe che non ha ancora una status_id del 10?

il sottostante è quello che ho fatto. non è sicuro se questo è corretto:


l'uso dei dati:: Dumper;

main ();


Sub Main (
my @ risultati;
my $ headers \u003d "utente,
l'indirizzo MAC,
status_id ";

my (@ log_info, @ dircontents);


open (LOG, "</ home / jhenson / log_fantastic");
@ log_info \u003d <LOG>;
close (LOG);

Dumper stampa ( "test");
foreach my $ contenuto (@ log_info) (
chomp ($ content);
my $ line \u003d substr ($ content, -2);
stampa Dumper ($ line);
if ($ line eq "OK") (
push @ dircontents, $ content;
)
)


# push @ alarm_info, uc $ header;

stampa Dumper (@ dircontents);

)
  #2 (permalink)  
Old 03-17-2009
curleb curleb is offline
Utente Registrato
  
 

Iscriviti Data: marzo 2008
Località: Qui, nella mia torre d'avorio ...
Interventi: 68
avete bisogno di un perl script per fare questo? :

Codice:
grep -v 'STATUS_ID: 10 ' ${file:-"/home/jhenson/log_fantastic"}
O c'è di più ad esso ...?
  #3 (permalink)  
Old 03-17-2009
SkySmart SkySmart is offline
Utente Registrato
  
 

Iscriviti Data: dicembre 2006
Posti: 50
Citazione:
Originalmente inviato da curleb View Post
avete bisogno di un perl script per fare questo? :

Codice:
grep -v 'STATUS_ID: 10 ' ${file:-"/home/jhenson/log_fantastic"}
O c'è di più ad esso ...?


oh theres più. i coulda facilmente fare questo attraverso la programmazione nella shell. ma questo deve essere fatto in perl. sulla parte superiore del grepping le voleva stato ids, i goto istituito nei campi. un milione di grazie per il suggerimento
  #4 (permalink)  
Old 03-17-2009
jambesh's Avatar
jambesh jambesh is offline
Utente Registrato
  
 

Join Date: Aug 2006
Località: Pune, India
Interventi: 137
Prova la perl script: --
\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d

#! / usr / bin /perl
open (FH, "log_fantastic") o dir ( "couldnt aprire il file");
while (<FH>)
(
$ rec \u003d $ _;
chomp ($ rec);
@ arr \u003d split (/:/,$ rec);
print $ rec, "\ n" if ($ arr [5]! ~ / 10 /);
)
close (FH);
  #5 (permalink)  
Old 03-17-2009
SkySmart SkySmart is offline
Utente Registrato
  
 

Iscriviti Data: dicembre 2006
Posti: 50
Citazione:
Originalmente inviato da jambesh View Post
Prova la perl script: --
\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d

#! / usr / bin /perl
open (FH, "log_fantastic") o dir ( "couldnt aprire il file");
while (<FH>)
(
$ rec \u003d $ _;
chomp ($ rec);
@ arr \u003d split (/:/,$ rec);
print $ rec, "\ n" if ($ arr [5]! ~ / 10 /);
)
close (FH);


funziona perfettamente. grazie un milione.
  #6 (permalink)  
Old 03-17-2009
KevinADC KevinADC is offline Forum Advisor  
Utente Registrato
  
 

Iscriviti Data: gennaio 2008
Messaggi: 731
Questo dovrebbe essere più efficiente e più accurato:

Codice:
open(FH,"log_fantastic") or dir ("Couldnt open file: $!");
while(my $line = <FH>) {
   next if (/STATUS_ID: 10 /);
   print;
}
close(FH);
Closed Thread

Segnalibri

Thread Tools Cerca in questo Thread
Cerca in questo Thread:

Ricerca Avanzata
Modalità di visualizzazione Vota questo thread
Vota questo thread:

Distacco regolamento
Tu non può post nuovo thread
Tu non può inviare una risposta
Tu non può postare allegati
Tu non può modificare i tuoi post

BB codice è Su
Smilies sono Su
[IMG] codice Su
Codice HTML è Chiuso
Trackbacks sono Su
Pingbacks sono Su
Refbacks sono Su




Tutti gli orari sono GMT -4. La data di oggi è 01:57 AM.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Traduzioni Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX e Linux Forum Content Copyright © 1993-2009. Tutti i diritti Reserved.Ad di gestione da RedTyger

Contenuti pertinenti URL da vBSEO 3.2.0