The UNIX and Linux Forums  

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
Ändern einer bestimmten Muster ab dem zweiten Zeile der Suchmuster IMAS UNIX for Dummies Questions & Answers 1 10-12-2008 02:19 PM
Ändern einer bestimmten Muster ab dem zweiten Zeile der Suchmuster IMAS UNIX for Dummies Questions & Answers 2 10-12-2008 12:30 PM
Wie kann man löschen, Einträge in eine Datei passender ein Muster? mode09 UNIX for Dummies Questions & Answers 2 07-15-2008 02:53 PM
ausschließen Spalten, mit einem entsprechenden Linienmuster greptastic UNIX for Dummies Questions & Answers 5 06-30-2008 04:32 AM
Multile Pattern-Suche in der gleichen Zeile und löschen sasree76 Shell Programmierung und Scripting 2 04-16-2008 03:12 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 Suche diesen Thread Rate Thread Anzeige-Modi
  #1 (permalink)  
Old 10-12-2008
IMAS imas is offline
Registrierte Nutzer
  
 

Join Date: Nov 2007
Beiträge: 15
Kommentar / Löschen einer bestimmten Muster ab der zweiten Zeile die passenden Muster

Hi,

Ich habe 1.txt Datei mit folgenden Einträgen angezeigt:

0152364 | 134444 | 10.20.30.40 | 015236433
0233654 | 122555 | 10.20.30.50 | 023365433
**
**
**

In der Datei 2.txt Ich habe folgende Einträge angezeigt:

0152364 | 134444 | 10.20.30.40 | 015236433
0233654 | 122555 | 10.20.30.50 | 023365433
0789456 | 332211 | 10.20.30.40 | 078945633
1234567 | 225522 | 10.20.30.50 | 123456733
0321654 | 999999 | 10.20.30.40 | 032165433
0456123 | 777899 | 10.20.30.40 | 045612333
***
***
***

Ich möchte, dass die IP-Adresse aus Spalte 1.txt und dann suchen Sie in 2.txt und kommentieren Sie die doppelten Eintrag aus der zweiten mit Muster.

Das bedeutet, ich muss die folgende Ausgabe in 2.txt wie:

0152364 | 134444 | 10.20.30.40 | 015236433
0233654 | 122555 | 10.20.30.50 | 023365433
# 0789456 | 332211 | 10.20.30.40 | 078945633
# 1234567 | 225522 | 10.20.30.50 | 123456733
# 0321654 | 999999 | 10.20.30.40 | 032165433
# 0456123 | 777899 | 10.20.30.40 | 045612333
***
***
***

Hier ist das Skript schrieb ich, aber es wird die alle doppelte Einträge:

for i in `cat 1.txt | cut-d" | "-f3"
tun
Katze 2.txt |sed "s / ^ \ (.* \ | $ i \ |.*)/#/ g"> tmp.txt
mv tmp.txt 2.txt
getan

Kann jemand mich, wie aus den ersten doppelten Eintrag unberührt und Kommentar / löschen doppelten Eintrag aus der zweiten und so weiter.

Bitte nicht in der Nähe dieses Threads, wenn Sie nicht wissen, die Antwort.

Danke
Imas -
  #2 (permalink)  
Old 10-12-2008
Franklin52 Franklin52 is offline Forum Staff  
Moderator
  
 

Join Date: Feb 2007
Posts: 4346
Zitat:
Zitat von IMAS View Post
Bitte nicht in der Nähe dieses Threads, wenn Sie nicht wissen, die Antwort.
Ist das eine Frage, zu Hause arbeiten?
Der Annahme, dass dies nicht der Fall, was ist das eigentliche Problem der Welt Ihre Frage?

Grüße
  #3 (permalink)  
Old 10-13-2008
IMAS imas is offline
Registrierte Nutzer
  
 

Join Date: Nov 2007
Beiträge: 15
Ja, Ihre Annahme ist richtig und das ist ein Problem der realen Welt

Was iam zu tun versuchen, ist die doppelte IP-Kommentierung der in der Textdatei ignoriert das erste Auftreten als gültig zu sein für eine gültige IP-und Mac ab dem zweiten Auftreten ab kommentiert die doppelte IP-Adressen am Anfang der Zeile.

1.txt Datei mit folgenden Einträgen angezeigt:

0152364 | 134444 | 10.20.30.40 | 015236433
0233654 | 122555 | 10.20.30.50 | 023365433
**
**
**

2.txt-Datei mit folgenden Einträgen angezeigt:

0152364 | 134444 | 10.20.30.40 | 015236433
0233654 | 122555 | 10.20.30.50 | 023365433
0789456 | 332211 | 10.20.30.40 | 078945633
1234567 | 225522 | 10.20.30.50 | 123456733
0321654 | 999999 | 10.20.30.40 | 032165433
0456123 | 777899 | 10.20.30.40 | 045612333
***
***
***

Ich brauche, um die folgende Ausgabe in 2.txt wie:

0152364 | 134444 | 10.20.30.40 | 015236433
0233654 | 122555 | 10.20.30.50 | 023365433
# 0789456 | 332211 | 10.20.30.40 | 078945633
# 1234567 | 225522 | 10.20.30.50 | 123456733
# 0321654 | 999999 | 10.20.30.40 | 032165433
# 0456123 | 777899 | 10.20.30.40 | 045612333
***
***
***

Die richtige Skript schrieb ich ist

for i in `cat 1.txt | cut-d" | "-f3"
tun
Katze 2.txt |sed "s / ^ \ (.* \ | $ i \ |.*)/# \ 1 / g"> tmp.txt
mv tmp.txt 2.txt
getan

Aber das Skript wird die alle das Auftreten.

Ihre Hilfe ist gefragt.

Danke
IMAS -
  #4 (permalink)  
Old 10-13-2008
summer_cherry summer_cherry is online now Forum Advisor  
Registrierte Nutzer
  
 

Join Date: Jun 2007
Ort: Peking, China
Posts: 1099
awk:


Code:
nawk 'BEGIN{FS="|"}
{
if(NR==FNR)
	a[$3]=0
else
{
	a[$3]++
	if(a[$3]>=2)
		print "#"$0
	else
		print $0
}
}' 1.txt 2.txt

  #5 (permalink)  
Old 10-13-2008
IMAS imas is offline
Registrierte Nutzer
  
 

Join Date: Nov 2007
Beiträge: 15
Hi Summer_Cherry,

Millionen Dank, dass Sie mir das Stück Code, wird die ab dem zweiten Auftreten mit Muster aus dem Beginn der Zeile.

intelsol2> cat 1.txt
0152364 | 134444 | 10.20.30.40 | 015236433
0233654 | 122555 | 10.20.30.50 | 023365433
intelsol2> cat 2.txt
0152364 | 134444 | 10.20.30.40 | 015236433
0233654 | 122555 | 10.20.30.50 | 023365433
0789456 | 332211 | 10.20.30.40 | 078945633
1234567 | 225522 | 10.20.30.50 | 123456733
0321654 | 999999 | 10.20.30.40 | 032165433
0456123 | 777899 | 10.20.30.40 | 045612333
intelsol2>
nawk 'BEGIN (FS \u003d"|"}
(
if (NR \u003d\u003d FNR)
a [$ 3] \u003d 0
sonst
(
a [$ 3] + +
if (a [$ 3]> \u003d 2)
print "#" $ 0
sonst
print $ 0
)
) "1.txt 2.txt> 3.txt
intelsol2> cat 3.txt
0152364 | 134444 | 10.20.30.40 | 015236433
0233654 | 122555 | 10.20.30.50 | 023365433
# 0789456 | 332211 | 10.20.30.40 | 078945633
# 1234567 | 225522 | 10.20.30.50 | 123456733
# 0321654 | 999999 | 10.20.30.40 | 032165433
# 0456123 | 777899 | 10.20.30.40 | 045612333
intelsol2>

Auch vielen Dank für Unix Forum Jungs "Sie ppl rock!"

FYI, ich habe versucht die Suche nach diesem Code, da alle am Wochenende und ging durch sed Handbuch "http://www.grymoire.com/Unix/Sed. html "sub Thema (/ 1, / 2, usw., die Angabe Auftreten) war allerdings Pech bei dem Versuch die Trial-and-Error-Methode.

Auch Sommer könnten Sie mir bitte erklären, der Code, den Sie geschrieben haben, damit ich kann verstehen, es in eine bessere Art und Weise.

Auch vielen Dank, und Sie können diesen Thread schließen.

Danke
IMAS -
Closed Thread

Lesezeichen

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 03:11 AM.


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