The UNIX and Linux Forums  
Hallo und herzlich Willkommen aus den Vereinigten Staaten, die UNIX-und Linux-Foren! Vielen Dank für Ihren Besuch und die Teilnahme an unserem Global Community.

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



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

Mehr UNIX-und Linux-Forum Themen Vielleicht finden Sie hilfreiche
Faden Thread Starter Forum Antworten Last Post
UK Unternehmen meiden Echtzeit-Daten-Analyse iBot Complex Event Processing RSS News 0 07-14-2008 08:30 PM
Eine Einführung in die Real-Time Data Integration iBot Oracle-Updates (RSS) 0 04-06-2008 06:10 AM
CSV-Daten über eine Fusion eine Linienkonferenzen von Shell? jjinca Shell Programmierung und Scripting 2 08-13-2007 12:15 PM
Brauchen Sie Hilfe für 2-Datei Fusion getdpg Shell Programmierung und Scripting 2 07-12-2006 10:07 AM
Zusammenführen von Daten REV Shell Programmierung und Scripting 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 Suche diesen Thread Rate Thread Anzeige-Modi
  #1 (permalink)  
Old 07-17-2008
Ikon's Avatar
Ikon Ikon is offline Forum Advisor  
Registrierte Nutzer
  
 

Join Date: Jul 2008
Ort: Phoenix, Arizona
Beiträge: 669
Zusammenführen letzten und Syslog-Daten über die Zeit

Dies ist auf einer HP-UX-System.

Ich brauche, um die 2 Berichte, für jede Zeile in syslog Ich muss Lookup, der protokolliert, um die Punkte / # auf der Grundlage der aus dem last.txt Bericht.

Hier ist, was ich von sulog.log

Katze syslog | grep "su" | grep "14. Juni"


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

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





Dies ist aus dem letzten Bericht:

Kopf last.txt | grep "14. Juli"
user1 pts / 2 10.0.0.1 Thu Jul 14 08:00 - 10:00 (02:00)
user1 pts / 2 10.0.0.2 Thu Jul 14 11:00 - 13:00 (02:00)
user2 pts / 3 10.0.0.3 Wed Jul 14 16:00 - 20:00 Uhr (04:00)
user7 pts / 4 hostx Wed Jul 14 13:25 - 16:01 (02:35)
.
.
.
.

Also ich könnte:

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

Jede Hilfe wäre toll.

Zuletzt bearbeitet von Ikon; am 07-17-2008 12:33 PM..
  #2 (permalink)  
Old 07-17-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderator
  
 

Join Date: Feb 2007
Posts: 4312
Wenn Sie die erste Ausgabe in Datei1 und die zweite Ausgabe in Datei2:

Code:
awk '
NR==FNR{split($2,s,"/");i=s[2];a[i]=$3;next}
a[$7]{$0=$0 FS a[$7]}
{print}
' file2 file1
Wenn Sie Fehler verwenden nawk, oder gawk / usr/xpg4/bin/awk auf Solaris.

Grüße
  #3 (permalink)  
Old 07-17-2008
Ikon's Avatar
Ikon Ikon is offline Forum Advisor  
Registrierte Nutzer
  
 

Join Date: Jul 2008
Ort: Phoenix, Arizona
Beiträge: 669
Zitat:
Zitat von Franklin52 View Post
Wenn Sie die erste Ausgabe in Datei1 und die zweite Ausgabe in Datei2:

Code:
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, die Werke großer ...

Ein paar Fragen ...
Im noch Lernprojekt awk ... Können Sie erklären, wie das funktioniert .. Was ihr tun, damit ich nicht über die zu fragen, über andere Skripte in die Zukunft, und ich kann anderen helfen, mehr.

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

Join Date: Feb 2007
Posts: 4312
Code:
awk '
NR==FNR{split($2,s,"/");i=s[2];a[i]=$3;next}
a[$7]{$0=$0 FS a[$7]}
{print}
' file2 file1
Erklärung:

Der Code für die erste Datei (Datei2):

Code:
NR==FNR{split($2,s,"/");i=s[2];a[i]=$3;next}
NR \u003d\u003d FNR -> Ist der Fall, wenn wir die erste Datei.
Split ($ 2, s ,"/") -> Split wir das zweite Feld, um die Tasten 2, 3 usw.
i \u003d s [2] -> I ist nun der Schlüssel
a [i] \u003d $ 3 -> Ein Array "a" mit dem Schlüssel als Index und wird der Wert der 3. Feld, um das Array
nächster -> Lesen Sie die nächste Zeile zu überspringen und den Rest des Codes

Der Code für die zweite Datei (Datei1):

Code:
a[$7]{$0=$0 FS a[$7]}
{print}
a [$ 7] ($ 0 \u003d $ 0 FS a [$ 7]) -> Wenn das 7. Feld gibt in dem Feld fügt eine fieldseperator und der Wert des Feldes nach der Zeile (dies ist die 3. Bereich der ersten Datei)
(print) -> Die Zeile.

Hope this helps.

Grüße
  #5 (permalink)  
Old 07-17-2008
Ikon's Avatar
Ikon Ikon is offline Forum Advisor  
Registrierte Nutzer
  
 

Join Date: Jul 2008
Ort: Phoenix, Arizona
Beiträge: 669
OK, es ist ein Problem, es ist keine Prüfung auf Zeit.

Ich müsste zu überprüfen, um zu sehen, wer angemeldet wurde in den pts / # basiert auf dem, was war es protokolliert.

Ich weiß, ich kann es in perl, Würde aber eher nicht.

wenn ich:

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


und


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

I get:

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

Zuletzt bearbeitet von Ikon; am 07-17-2008 03:56 PM..
  #6 (permalink)  
Old 07-17-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderator
  
 

Join Date: Feb 2007
Posts: 4312
Sie müssen ein oder mehrere gemeinsame Felder (ein Schlüssel) in die beiden Dateien in die Dateien.

Grüße
  #7 (permalink)  
Old 07-17-2008
Ikon's Avatar
Ikon Ikon is offline Forum Advisor  
Registrierte Nutzer
  
 

Join Date: Jul 2008
Ort: Phoenix, Arizona
Beiträge: 669
Zitat:
Zitat von Franklin52 View Post
Sie müssen ein oder mehrere gemeinsame Felder (ein Schlüssel) in die beiden Dateien in die Dateien.

Grüße
Gemeinsame Felder

Benutzername: "userX" \u003d "userX"-xxxxxxxx

Punkte: pts / "#" \u003d - "#" userX .......

Zeit: ##:##:## innerhalb von ##:## - ##:##

, dass wird nicht genug?
Closed Thread

Lesezeichen

Tags
solaris

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 Auf




Alle Zeiten sind GMT -4. Es ist jetzt 10:41 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 Content © Copyright 1993-2009. Alle Rechte Reserved.Ad Management von RedTyger

Content Relevant URLs durch vBSEO 3.2.0