The UNIX and Linux Forums  

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
Regno Unito imprese rifuggire in tempo reale di analisi dei dati iBot Complex Event Processing RSS News 0 07-14-2008 08:30 PM
An Introduction to Real-Time Data Integration iBot Oracle Aggiornamenti (RSS) 0 04-06-2008 06:10 AM
fusione dei dati CSV utilizzando una linea dal guscio? jjinca Shell scripting e di programmazione 2 08-13-2007 12:15 PM
Hai bisogno di aiuto per 2 file di dati di fusione getdpg Shell scripting e di programmazione 2 07-12-2006 10:07 AM
La fusione dei dati Ap Shell scripting e di programmazione 8 06-03-2005 04:14 AM

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 07-17-2008
Ikon's Avatar
Ikon Ikon is offline Forum Advisor  
Utente Registrato
  
 

Iscriviti Data: luglio 2008
Località: Phoenix, Arizona
Interventi: 669
La fusione e syslog ultimi dati in tempo

Si tratta di un sistema HP-UX.

Ho bisogno di fondere le relazioni 2, per ogni riga in syslog ho bisogno di ricerca che è stato effettuato l'accesso per la pt / # basato sul tempo che intercorre tra la last.txt relazione.

Ecco ciò che ho da sulog.log

cat syslog | grep "su:" | grep "14 giugno"


Lug 14 08:02:48 server1 su: - 2 user1-root
Lug 14 09:13:23 server1 su: + 2 user1-root
Lug 14 12:03:03 server1 su: + 2 user1-root
Lug 14 18:15:13 server1 su: + 3 utente2-root
Lug 14 15:03:01 server1 su: + 4 user7-root

- 2 \u003d pts / 2
+ 2 \u003d pts / 2
+ 3 \u003d pt / 3
ecc ...





Questo è da ultima relazione:

testa last.txt | grep "14 luglio"
user1 pt / 2 10.0.0.1 gio lug 14 08:00 - 10:00 (02:00)
user1 pt / 2 10.0.0.2 gio lug 14 11:00 - 13:00 (02:00)
utente2 pt / 3 10.0.0.3 mercoledì 14 luglio 16:00 - 20:00 (04:00)
user7 pt / hostx mercoledì 4 luglio 14 13:25 - 16:01 (02:35)
.
.
.
.

Così ho potuto ottenere:

Lug 14 08:02:48 server1 su: - 2 user1-root 10.0.0.1
Lug 14 09:13:23 server1 su: + 2 user1-root 10.0.0.1
Lug 14 12:03:03 server1 su: + 2 user1-root 10.0.0.2
Lug 14 18:15:13 server1 su: + 3 utente2-root 10.0.0.3
Lug 14 15:03:01 server1 su: + 4 user7-root hostx

Qualsiasi aiuto sarà grande.

Ultimo a cura di Ikon; al 07/17/2008 12:33 PM..
  #2 (permalink)  
Old 07-17-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderatore
  
 

Iscriviti Data: febbraio 2007
Messaggi: 4.342
Se si ha la prima uscita in file1 e la seconda uscita in file2:


Codice:
awk '
NR==FNR{split($2,s,"/");i=s[2];a[i]=$3;next}
a[$7]{$0=$0 FS a[$7]}
{print}
' file2 file1

Se ottenete errori uso nawk, gawk / o usr/xpg4/bin/awk su Solaris.

Saluti
  #3 (permalink)  
Old 07-17-2008
Ikon's Avatar
Ikon Ikon is offline Forum Advisor  
Utente Registrato
  
 

Iscriviti Data: luglio 2008
Località: Phoenix, Arizona
Interventi: 669
Citazione:
Originalmente inviato da Franklin52 View Post
Se si ha la prima uscita in file1 e la seconda uscita in file2:


Codice:
awk '
NR==FNR{split($2,s,"/");i=s[2];a[i]=$3;next}
a[$7]{$0=$0 FS a[$7]}
{print}
' file2 file1
You Rock, che funziona molto ...

Un paio domande ...
Im ancora istruzionene awk ... Può spiegare come funziona .. Quali le sue farlo I dont devo chiedere su altri script per il futuro e posso aiutare gli altri di più.

really appreciate it.
  #4 (permalink)  
Old 07-17-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderatore
  
 

Iscriviti Data: febbraio 2007
Messaggi: 4.342

Codice:
awk '
NR==FNR{split($2,s,"/");i=s[2];a[i]=$3;next}
a[$7]{$0=$0 FS a[$7]}
{print}
' file2 file1

Spiegazione:

Il codice per il primo file (file2):


Codice:
NR==FNR{split($2,s,"/");i=s[2];a[i]=$3;next}

NR \u003d\u003d FNR -> È vero quando si legge il primo file.
split ($ 2, s ,"/") -> Abbiamo diviso il secondo campo per ottenere i tasti 2, 3 ecc
i \u003d s [2] -> I è ora la chiave
a [i] \u003d $ 3 -> Crea un array "a" con il tasto indice e assegnare il valore del campo per la 3 ° serie
successivo -> Leggi la riga successiva e saltare il resto del codice

Il codice per il secondo file (file1):


Codice:
a[$7]{$0=$0 FS a[$7]}
{print}

uno [$ 7] ($ 0 \u003d $ 0 FS uno [$ 7]) -> Se il campo esiste in 7e l'array aggiungere uno fieldseperator e il valore della serie, dopo la linea (questo è il 3 ° settore delle prime file)
(print) -> Stampa la linea.

Hope this helps.

Saluti
  #5 (permalink)  
Old 07-17-2008
Ikon's Avatar
Ikon Ikon is offline Forum Advisor  
Utente Registrato
  
 

Iscriviti Data: luglio 2008
Località: Phoenix, Arizona
Interventi: 669
ok c'è un problema, non vi è alcun controllo sulla base di tempo.

Avrei bisogno di controllare per vedere chi è connesso al pts / # tempo in base a ciò che è stato effettuato l'accesso.

So che posso fare in perl, Ma non abbastanza.

se ho:

Lug 14 08:02:48 server1 su: - 0 user1-root
Lug 14 09:13:23 server1 su: + 0 user1-root
Lug 14 12:03:03 server1 su: + 0 user1-root
Lug 14 18:15:13 server1 su: + 0 user2-root
Lug 14 15:03:01 server1 su: + 0 user7-root


e


user1 pts / 0 10.0.0.1 gio lug 14 08:00 - 10:00 (02:00)
user1 pts / 0 10.0.0.2 gio lug 14 11:00 - 13:00 (02:00)
utente2 pts / 0 10.0.0.3 mercoledì 14 luglio 16:00 - 20:00 (04:00)
user7 pts / 0 hostx mercoledì luglio 14 13:25 - 15:01 (02:35)

Ottenere:

Lug 14 08:02:48 server1 su: - 0 user1-root hostx
Lug 14 09:13:23 server1 su: + 0 user1-root hostx
Lug 14 12:03:03 server1 su: + 0 user1-root hostx
Lug 14 18:15:13 server1 su: + 0 user2-root hostx
Lug 14 15:03:01 server1 su: + 0 user7-root hostx

Ultimo a cura di Ikon; al 07/17/2008 03:56 PM..
  #6 (permalink)  
Old 07-17-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderatore
  
 

Iscriviti Data: febbraio 2007
Messaggi: 4.342
È necessario disporre di uno o più comuni campi (chiave), in entrambi i file di aderire i file.

Saluti
  #7 (permalink)  
Old 07-17-2008
Ikon's Avatar
Ikon Ikon is offline Forum Advisor  
Utente Registrato
  
 

Iscriviti Data: luglio 2008
Località: Phoenix, Arizona
Interventi: 669
Citazione:
Originalmente inviato da Franklin52 View Post
È necessario disporre di uno o più comuni campi (chiave), in entrambi i file di aderire i file.

Saluti
Comune campi

Nome utente: "userX" \u003d "userX" xxxxxxxx -

pt: pt / "#" \u003d - "#" userX .......

Ora: ##:##:## all'interno ##:## - ##:##

che non saranno sufficienti?
Closed Thread

Segnalibri

Tag
solaris

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 è 07:24 PM.


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