![]() |
|
|
Google unix.com
|
|||||||
| Foren | Registrieren | Forum-Regeln | Links | Alben | FAQ | Benutzerliste | Kalender | Suche | Die heutige Beiträge | Alle Foren als gelesen markieren |
| 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 |
![]() |
|
|
LinkBack | Thread Tools | Suche diesen Thread | Rate Thread | Anzeige-Modi |
|
|
|
||||
|
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 - |
|
||||
|
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 |
|
||||
|
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 - |
|
||||
|
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 - |
![]() |
| Lesezeichen |
| Thread Tools | Suche diesen Thread |
| Anzeige-Modi | Rate this thread |
|
|