Linux-Befehle · 2 min read · Sep 14, 2025

Linux fgrep Befehl Tutorial für Anfänger (mit Beispielen)

Während grep ein bekannter Linux-Befehl ist (den wir bereits ausführlich behandelt haben), wissen Sie, dass es zwei verschiedene Varianten dieses Werkzeugs gibt? Ja, das sind egrep und fgrep. In diesem Tutorial werden wir letzteres (fgrep) anhand leicht verständlicher Beispiele besprechen. Aber bevor wir das tun, ist es erwähnenswert, dass alle in diesem Tutorial genannten Beispiele und Anweisungen auf Ubuntu 16.04LTS getestet wurden.

Linux fgrep Befehl

Wenn Sie einen Blick in die offizielle Dokumentation werfen, sagt die Man-Seite für den grep-Befehl, dass fgrep nichts anderes ist als grep -F. Es wird auch gesagt, dass Varianten wie fgrep und egrep nur zur Rückwärtskompatibilität bereitgestellt werden. Auf diese Details werden wir später in diesem Tutorial eingehen.

In der Zwischenzeit hier die Syntax von fgrep (die der von grep entspricht):

grep [OPTIONS] PATTERN [FILE...]

Und hier ist, wie die Man-Seite des grep-Befehls das Werkzeug erklärt:

grep durchsucht die angegebenen Eingabedateien FILEs nach Zeilen, die mit dem angegebenen PATTERN übereinstimmen. Wenn keine Dateien angegeben sind oder wenn die Datei "-" angegeben ist, durchsucht grep die Standard-Eingabe. Standardmäßig gibt grep die übereinstimmenden Zeilen aus.

Die folgenden Beispiele im Frage-Antwort-Stil sollten Ihnen eine bessere Vorstellung davon geben, wie fgrep funktioniert.

Q1. Wie unterscheidet sich fgrep von grep und egrep?

Der fgrep-Befehl unterscheidet sich von grep und egrep insofern, als dass er PATTERN als eine Liste fester Zeichenfolgen interpretiert (anstatt regulärer Ausdrücke), die durch Zeilenumbrüche getrennt sind.

Da gesagt wird, dass es dasselbe wie grep -F ist, hier ist, wie ein Experte die -F-Option von grep auf StackExchange erklärt hat:

Der `-F`-Schalter versetzt grep in einen anderen Modus, in dem es ein Muster zum Abgleichen akzeptiert, aber dann dieses Muster in eine Suchzeichenfolge pro Zeile aufteilt und eine ODER-Suche nach einer der Zeichenfolgen durchführt, ohne spezielle Musterabgleiche vorzunehmen.

Q2. Wie verwendet man fgrep?

Um die Verwendung von fgrep zu verstehen, nehmen wir zunächst ein einfaches Beispiel. Angenommen, es gibt eine Datei (file1), die die folgenden Inhalte enthält:

Und es gibt eine andere Datei (words.txt), die eine Liste von Wörtern enthält, die wir in file1 suchen möchten.

So können Sie fgrep verwenden, um diese Suche durchzuführen:

fgrep -f words.txt file1

Wie Sie sehen können, wurden die gefundenen Wörter rot hervorgehoben. Einige von Ihnen mögen argumentieren, dass das auch grep und egrep in diesem Fall tun würden, wie unterscheidet sich dann fgrep?

Zunächst einmal, ja, Sie haben recht. Der grep- und egrep-Befehl würde ebenfalls eine ähnliche Ausgabe erzeugen:

Aber der Unterschied wird klar, wenn file1 und words.txt die folgenden Inhalte enthalten (beobachten Sie die Sonderzeichen innerhalb der Wörter):

Hier werden egrep und grep nicht alle Wörter finden:

Aber fgrep wird wie beabsichtigt funktionieren:

Q3. Gibt es wirklich keinen Unterschied zwischen fgrep und grep?

Laut der offiziellen Dokumentation gibt es keinen Unterschied zwischen fgrep und dem grep -F-Befehl. Es gibt jedoch Berichten zufolge einen wesentlichen Unterschied zwischen den beiden Werkzeugen: den Algorithmus zur Zeichenfolgenübereinstimmung, den sie verwenden. Während fgrep den Aho-Corasick-Algorithmus verwendet, nutzt grep eine modifizierte Version von Commentz-Walter.

“Das bedeutet, dass grep im schlimmsten Fall eine O(mn)-Komplexität hat, während fgrep im schlimmsten Fall O(m+n) ist”, sagt ein Experte in den StackExchange-Foren.

Fazit

Wie offensichtlich ist, ist der fgrep-Befehl nicht schwer zu verstehen und zu verwenden. Was den Unterschied zwischen fgrep und grep -F betrifft, so haben wir die Punkte in Q3 bereits erwähnt, wir denken, dass dieses Thema einen großen Teil der Benutzer nicht stören sollte. Falls Sie Zweifel haben oder eine fgrep-bezogene Anfrage haben, teilen Sie uns dies mit, indem Sie einen Kommentar unten hinterlassen.

Share: X/Twitter LinkedIn

Erhalte neue Beiträge in deinem Posteingang.

Kein Spam. Jederzeit abmelden.