Diese Website existiert nur weil wir Werbung mit AdSense ausliefern.
Bitte den AdBlocker daher auf dieser Website ausschalten! Danke.

[solved] grep - mehrere Suchbegriffe mit UND verknüpfen ?

Alles rund um die verschiedenen Konsolen und shells sowie die Programmierung unter Linux

Moderator: Moderatoren

Antworten
ILSLinux
Newbie
Newbie
Beiträge: 8
Registriert: 11. Mär 2004, 10:46
Wohnort: Munich

[solved] grep - mehrere Suchbegriffe mit UND verknüpfen ?

Beitrag von ILSLinux »

Hallo!

Ich suche nach den passenden Befehl, um alle Dateien unter dem akutellen Verzeichnisses nach mehreren Begriffen zu durchsuchen. Die Begriffe müssen alle mit UND verknüpft werden, d.h. es wird nur ein Ergebnis (Dateiname) ausgegeben, wenn Begriff 1 und Begriff 2 und .... gefunden wurden.

Kann mir bitte jemand von Euch weiter helfen ???

Vielen Dank schon mal.

Thomas
jado
Member
Member
Beiträge: 170
Registriert: 4. Mär 2004, 11:00
Wohnort: Hamburg

Beitrag von jado »

Code: Alles auswählen

# grep -e <exp1> -e <expr2> *
# man grep
PEBKAC = Problem Exists Between Keyboard And Chair
ILSLinux
Newbie
Newbie
Beiträge: 8
Registriert: 11. Mär 2004, 10:46
Wohnort: Munich

Beitrag von ILSLinux »

Danke, aber das liefert leider nicht das gewünschte Ergebnis...

:cry:
Benutzeravatar
Benninger
Newbie
Newbie
Beiträge: 13
Registriert: 7. Apr 2004, 11:31
Wohnort: NRW - und da: oben links
Kontaktdaten:

Beitrag von Benninger »

Warum hilft grep -e nicht weiter?
Welches Ergebnis erwartest / möchtest Du?
Weiterhin ein schönes Leben wünscht
der Benninger

rm -rf /bin/laden
Benutzeravatar
r_heide
Newbie
Newbie
Beiträge: 37
Registriert: 16. Feb 2004, 10:03
Wohnort: 88400 Biberach
Kontaktdaten:

Beitrag von r_heide »

Wenn Du Zeilen erhalten willst, die sowohl den Begriff a als auch den Begriff b enthalten, kannst du den grep pipen:

Code: Alles auswählen

grep "a" deine_Datei | grep "b"
Wenn Du als Ergebnis alle Zeilen haben willst, dei entweder a oder b oder beides enthalten, würde ich

Code: Alles auswählen

grep "a" deine_Datei > Ergebnis
grep "b" deine_Datei >> Ergebnis
sort -u Ergebnis
versuchen. Letzteres um doppelte Zeilen zu entfernen.
Benutzeravatar
nobbiew
Hacker
Hacker
Beiträge: 497
Registriert: 1. Mär 2004, 23:26

Beitrag von nobbiew »

Also wenn schon OR-Bedinungen dann mit egrep

Code: Alles auswählen

egrep '(wort1|wort2)' datei
Sucht nach wort1 oder wort2. Aber egrep kann noch viel mehr, da hier die ganze Palette der regulären Ausdrücke zur Verfügung steht.
Antworten