Mit find und grep in Dateien suchen

Posted on in Linux

Da ich morgen heute — in 4,5 h — Klausur über Operating Systems schreibe, ist heute Schnipseltag. Um die Zeichenkette “foo” in allen Dateien im aktuellen Verzeichnis zu finden und eine Liste dieser Dateien auszugeben bietet sich folgende Kombination aus find und grep an:

find . -type f -exec grep -qi "foo" {} \; -print

Und um bestimmte Verzeichnisse auszuschließen (z.B. .git):

find . -path '*.git' -prune -o -type f -exec grep -qi "foo" {} \; -print
  • http://shopnix.de Arno

    Danke, hat mir geholfen. Das Ergebnis für mein Problem sah so aus:

    find ./ -name ‘*.php’ -exec grep -q “foo” {} ; -print

    Ich suche also nur nach bestimmten Dateimustern.

  • http://shopnix.de Arno

    Danke, hat mir geholfen. Das Ergebnis für mein Problem sah so aus:

    find ./ -name ‘*.php’ -exec grep -q “foo” {} \; -print

    Ich suche also nur nach bestimmten Dateimustern.

  • Pingback: 0x2A

  • jamz

    das müsste auch mit
    grep -l foo *
    klappen. (“l” bedeutet “kleines L”)

  • jamz

    das müsste auch mit
    grep -l foo *
    klappen. (“l” bedeutet “kleines L”)

  • Pingback: 1manfactory.com - Blog of Jürgen Schulze

  • Marco Dickert

    Vielen Dank, hat mir sehr geholfen :)