Hinweis: Das Forum wird geschlossen! Neue Registrierungen sind nicht mehr möglich!

 Zurück zu Pro-Linux   Foren-Übersicht   FAQ     Suchen    Mitgliederliste
grep - Nach zwei Begriffen in einer Zeile suchen

 
Neuen Beitrag schreiben   Auf Beitrag antworten    Pro-Linux Foren-Übersicht -> Sonstiges
Vorheriges Thema anzeigen :: Nächstes Thema anzeigen  
Autor Nachricht
Speed78
Gast





BeitragVerfasst am: 19. März 2006 16:31   Titel: grep - Nach zwei Begriffen in einer Zeile suchen

Hi,

ich bekomme mehrere Zeilen aus einer Datei zurück wie zum Beispiel so:

TEST;93999;True
BETA;93999;False
TEST;93999;False

Ich möchte jetzt alle Zeilen mit grep indem der Begriff "TEST" und "True" drin vorkommt zurückgegeben kommen. Wie mache ich das?

Gruß Speed78
 

Janka



Anmeldungsdatum: 11.02.2006
Beiträge: 3569

BeitragVerfasst am: 19. März 2006 17:48   Titel: Re: grep - Nach zwei Begriffen in einer Zeile suchen

Zweimal nacheinander greppen.

Janka
 
Benutzer-Profile anzeigen Private Nachricht senden

komsomolze



Anmeldungsdatum: 03.03.2006
Beiträge: 429

BeitragVerfasst am: 19. März 2006 21:22   Titel:

Code:

egrep 'Begriff1|Begriff2' Datei
 
Benutzer-Profile anzeigen Private Nachricht senden

jochen
prolinux-forum-admin


Anmeldungsdatum: 14.01.2000
Beiträge: 699
Wohnort: Jülich

BeitragVerfasst am: 19. März 2006 22:00   Titel:

@komsomolze: Das trifft aber nicht den Kern des Problems: Beide Treffer sollen in einer Zeile auftauchen, nicht nur einer oder der andere alleine.

@all: Statt grep besser awk gebrauchen.
Code:
awk -F\; '$1 == "TEST" && $3 == "True"'
-F setzt den Feldtrenner auf ";" (mit \ maskiert, der Shell wegen). Wenn das erste Feld gleich TEST lautet und das dritte gleich "True", wird die Default-Aktion ausgelöst, nämlich die Ausgabe der ganzen Zeile.

Jochen
_________________
Die grösste Lüge der EDV? "Mal eben..."
 
Benutzer-Profile anzeigen Private Nachricht senden Website dieses Benutzers besuchen

komsomolze



Anmeldungsdatum: 03.03.2006
Beiträge: 429

BeitragVerfasst am: 19. März 2006 23:07   Titel:

Zitat:
Beide Treffer sollen in einer Zeile auftauchen, nicht nur einer oder der andere alleine.


dann so:
Code:
egrep '^TEST.*True$' Datei


tschuldigung, mal wieder zu schnell gelesen.
 
Benutzer-Profile anzeigen Private Nachricht senden

Beiträge vom vorherigen Thema anzeigen:   
     Pro-Linux Foren-Übersicht -> Sonstiges Alle Zeiten sind GMT + 1 Stunde
Seite 1 von 1

 
Gehen Sie zu:  

Powered by phpBB © phpBB Group
pro_linux Theme © 2004 by Mandaxy