Mit dem Befehl grep, der seit 1973 Bestandteil von Unix-Systemen ist, können Textdateien, Verzeichnisse oder die Standardausgabe durchsucht werden. Vorläufer von grep war der Befehl g/re/p für den Texteditor ed; daher auch der Name.
Möchten Sie zum Beispiel die Textdatei werkzeuge.txt nach dem Begriff "zange" durchsuchen, können Sie das mit "grep zange werkzeuge.txt" tun, oder Sie verknüpfen die Befehle cat und grep miteinander: "cat werkzeuge.txt | grep zange". Die Verknüpfung verschiedener Befehle (Pipe) kann beispielsweise dann sinnvoll sein, wenn Sie Hilfedateien durchsuchen: So sucht "man tail | grep lines" in der Handbuchseite zu dem Befehl tail nach dem Begriff "lines". Mit den Parametern "-A", "-B" und "-C" (after, before und context) geben Sie an, wie viele Zeilen vor, nach oder vor und nach dem Suchbegriff angezeigt werden sollen, und "--color" hebt den Suchbegriff farblich hervor. Der Parameter "-w" lässt grep Wörter ignorieren, die den Suchbegriff teilweise beinhalten: "grep -w zange werkzeuge.txt" gibt zwar die Zeilen aus, die das Wort "zange" enthalten, nicht aber solche mit Wörtern wie "kneifzange" oder "rohrzange".
Um alle Dateien eines Verzeichnisses nach dem Wort "zange" zu durchsuchen und nur die Namen der Dateien anzuzeigen, die den Suchbegriff enthalten, rufen Sie grep mit dem Parameter "-l" auf: "grep -l zange *". Sollen auch Unterverzeichnisse durchsucht werden, hängen Sie den Parameter "-r" an. Falls Sie die Suchergebnisse umkehren, also die Dateien oder Textzeilen anzeigen wollen, die den Suchbegriff nicht enthalten, verwenden Sie den Parameter "-v". Weitere nützliche Parameter sind "-i" (bringt grep dazu, nicht auf Groß- und Kleinschreibung zu achten) und "-n" (zeigt die Zeilennummern der Suchergebnisse an).
Für komplexere Suchvorgänge können Sie reguläre Ausdrücke verwenden. In diesem Fall rufen Sie grep mit dem Parameter "-E" auf oder verwenden stattdessen den Befehl egrep.