The UNIX and Linux Forums  


Go Back   UNIX och Linux Forum > Upp Forum > Shell-programmering och Skript
.
google unix.com



Shell-programmering och Skript Post frågor om ksh, CSH, SH, bash, PERL, PHP, sed, awk och andra skalskript och skal skriptspråk här.

Mer UNIX och Linux Forum Ämnen Du kan hitta Helpful
Tråd Thread Starter Forum Svar Senaste Inlägg
Brittiska företag shunning realtid dataanalys iBot Complex Event Processing RSS Nyheter 0 07-14-2008 08:30
Introduktion till Real-Time Data Integration iBot Oracle Uppdateringar (RSS) 0 04-06-2008 06:10
samgående CSV-data med hjälp av en en liner från tanken? jjinca Shell-programmering och Skript 2 08-13-2007 12:15
Behöver du hjälp för 2 datafil samgående getdpg Shell-programmering och Skript 2 07-12-2006 10:07
Sammanfoga data REV Shell-programmering och Skript 8 06-03-2005 04:14

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 Sök i denna tråd Rate Thread Visningslägen
  #1 (permalänk)  
Old 07-17-2008
Ikon's Avatar
Ikon Ikon is offline Forum Advisor  
Registered User
  
 

Join Date: Jul 2008
Ort: Phoenix, Arizona
Inlägg: 669
Sammanfoga senaste och syslog uppgifter om temne

Detta är en HP-UX-system.

Jag måste sammanfoga 2 rapporter, för varje rad i syslog Jag behöver lookup som loggat in på PTS / # bygger på Temne från last.txt rapporten.

Här är vad jag får från sulog.log

katt syslog | grep "su" | grep "14 juni"


14 juli 08:02:48 SERVER1 su: - 2 user1-root
14 juli 09:13:23 SERVER1 su: + 2 user1-root
14 juli 12:03:03 SERVER1 su: + 2 user1-root
Juli 14 18:15:13 SERVER1 su: + 3 user2-root
Juli 14 15:03:01 SERVER1 su: + 4 user7-root

- 2 \u003d pts / 2
+ 2 \u003d pts / 2
+ 3 \u003d pts / 3
osv ...





Det här är från förra rapporten:

huvudet last.txt | grep "14 juli"
user1 pts / 2 10.0.0.1 Tor 14 juli 08:00 - 10:00 (02:00)
user1 pts / 2 10.0.0.2 Tor 14 juli 11:00 - 13:00 (02:00)
user2 pts / 3 10.0.0.3 onsdag 14 juli 16:00 - 20:00 (04:00)
user7 pts / 4 hostx onsdag 14 juli 13:25 - 16:01 (02:35)
.
.
.
.

Så jag kunde få:

14 juli 08:02:48 SERVER1 su: - 2 user1-root 10.0.0.1
14 juli 09:13:23 SERVER1 su: + 2 user1-root 10.0.0.1
14 juli 12:03:03 SERVER1 su: + 2 user1-root 10.0.0.2
Juli 14 18:15:13 SERVER1 su: + 3 user2-root 10.0.0.3
Juli 14 15:03:01 SERVER1 su: + 4 user7-root hostx

All hjälp skulle vara jättebra.

Senast redigerad av Ikon, 07-17-2008 vid 12:33..
  #2 (permalänk)  
Old 07-17-2008
Franklin52 Franklin52 is online now Forum Staff  
Moderator
  
 

Join Date: februari 2007
Inlägg: 4.342
Om du har den första produktionen i fil1 och den andra produktionen i fil2:


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

Om du får fel användning nawk, gapa eller / usr/xpg4/bin/awk på Solaris.

Hälsningar
  #3 (permalänk)  
Old 07-17-2008
Ikon's Avatar
Ikon Ikon is offline Forum Advisor  
Registered User
  
 

Join Date: Jul 2008
Ort: Phoenix, Arizona
Inlägg: 669
Citat:
Ursprungligen postat av Franklin52 View Post
Om du har den första produktionen i fil1 och den andra produktionen i fil2:


Kod:
awk '
NR==FNR{split($2,s,"/");i=s[2];a[i]=$3;next}
a[$7]{$0=$0 FS a[$7]}
{print}
' file2 file1
Du Rock, som fungerar bra ...

Ett par frågor ...
Im fortfarande learing awk ... Kan du förklara hur detta fungerar .. Vad det gör så jag behöver inte be om andra manus i framtiden och jag kan hjälpa andra mer.

verkligen uppskattar det.
  #4 (permalänk)  
Old 07-17-2008
Franklin52 Franklin52 is online now Forum Staff  
Moderator
  
 

Join Date: februari 2007
Inlägg: 4.342

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

Förklaring:

Koden för den första filen (fil2):


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

NR \u003d\u003d FNR -> Är sant när vi läser den första filen.
split ($ 2, s ,"/") -> Vi delade det andra fältet för att få nycklar 2, 3 etc.
i \u003d s [2] -> Jag är nu den viktigaste
a [i] \u003d $ 3 -> Skapa en array "ett" med den knapp som index och tilldela värdet av 3th området till array
nästa -> Läs nästa rad och hoppa över resten av koden

Koden för den andra filen (fil1):


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

a [$ 7] ($ 0 \u003d $ 0 FS a [$ 7]) -> Om 7:e området finns i kedjan bifoga en fieldseperator och värdet av kedjan efter raden (det 3th på den första filen)
(print) -> Print linjen.

Hoppas den här hjälper.

Hälsningar
  #5 (permalänk)  
Old 07-17-2008
Ikon's Avatar
Ikon Ikon is offline Forum Advisor  
Registered User
  
 

Join Date: Jul 2008
Ort: Phoenix, Arizona
Inlägg: 669
ok det finns ett problem, det finns ingen kontroll baserad på tid.

Jag skulle behöva kontrollera att se vem som var inloggad i pts / # baserat på vad Temne det var inloggad.

Jag vet att jag kan göra det i perl, Men vill inte.

om jag har:

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


och


user1 pts / 0 10.0.0.1 tors 14 juli 08:00 - 10:00 (02:00)
user1 pts / 0 10.0.0.2 tors 14 juli 11:00 - 13:00 (02:00)
user2 pts / 0 10.0.0.3 onsdag 14 juli 16:00 - 20:00 (04:00)
user7 pts / 0 hostx onsdag 14 juli 13:25 - 15:01 (02:35)

Jag:

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

Senast redigerad av Ikon, 07-17-2008 vid 03:56..
  #6 (permalänk)  
Old 07-17-2008
Franklin52 Franklin52 is online now Forum Staff  
Moderator
  
 

Join Date: februari 2007
Inlägg: 4.342
Du måste ha en eller flera gemensamma områden (en knapp) i båda ärendena att ansluta sig till filer.

Hälsningar
  #7 (permalänk)  
Old 07-17-2008
Ikon's Avatar
Ikon Ikon is offline Forum Advisor  
Registered User
  
 

Join Date: Jul 2008
Ort: Phoenix, Arizona
Inlägg: 669
Citat:
Ursprungligen postat av Franklin52 View Post
Du måste ha en eller flera gemensamma områden (en knapp) i båda ärendena att ansluta sig till filer.

Hälsningar
Gemensamma områden

Användarnamn: "userX" \u003d "userX"-xxxxxxxx

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

Tid: ##:##:## inom ##:## - ##:##

som brukar vara nog?
Closed Thread

Komihåglista

Taggar
Solaris

Thread Tools Sök i denna tråd
Sök i denna tråd:

Avancerad sökning
Visningslägen Betygsätt denna tråd
Betygsätt denna tråd:

Utstationering Regler
Du får inte efter nya trådar
Du får inte efter svar
Du får inte skicka bilagor
Du får inte redigera dina inlägg

BB-kod är
Smilies är
[IMG] kod
HTML-koden är Av
Trackback är
Pingbacks är
Refbacks är




Alla tider är GMT -4. Klockan är nu 09:38.


Powered by: vBulletin, Copyright © 2000 - 2006, Jelsoft Enterprises Limited. Översättningar Powered by .
vBCredits v1.4 Copyright © 2007 - 2008, PixelFX Studios
UNIX och Linux Forum Innehållet upphovsrättsskyddat © 1993-2009. All Rights Reserved.Ad förvaltning RedTyger

Content Relevant webbadresser från vBSEO 3.2.0