Looking for grep Keywords? Try Ask4Keywords

grepUnterschied zwischen grep, egrep, fgrep, pgrep.


Einführung

grep , egrep , fgrep , rgrep , pgrep - sind Befehle in Unix-ähnlichen Betriebssystemen, die Zeilen drucken, die einem Muster entsprechen. Der grep sucht die genannten Eingabedateien für Linien eine Übereinstimmung mit dem vorgegebenen Muster enthalten. Standardmäßig werden die übereinstimmenden Zeilen gedruckt. Außerdem sind die Variantenprogramme egrep , fgrep und rgrep identisch mit grep -E , grep -F und grep -r . Diese Varianten sind veraltet, werden jedoch aus Gründen der Abwärtskompatibilität bereitgestellt.

Syntax

  • grep [OPTIONS] PATTERN [FILE...]

  • grep [OPTIONS] [-e PATTERN]... [-f FILE]... [FILE...]

Parameter

Symbol Details Grundlegende reguläre Ausdrücke (BRE)
^ Mit dem Zirkumflex wird der Zeilenanfang abgeglichen.
$ wird verwendet, um das Ende einer Zeile anzupassen.
. stimmt mit jedem Zeichen außer einer neuen Zeile überein.
[] entspricht einem einzelnen Zeichen in den Klammern. Wenn ein ^ drin ist, würde es mit den Zeichen in der Klammer übereinstimmen.
\ bevor eines der nicht-alphanumerischen Zeichen sie zitiert.
* Das Symbol stimmt mit dem vorangehenden Zeichen oder Unterausdruck ein- oder mehrmals überein.
\1 Die Rückverweise 1-9 stimmen mit dem genauen Text der entsprechenden Gruppe überein.
\{m,n\} stimmt mit den vorhergehenden Elementen mindestens m und nicht mehr als n mal überein.
\| foo\|bar entspricht foo oder bar.
\? Abkürzung für {0,1}
\+ (Abkürzung für {1,} ) stimmen höchstens 1 Mal mit dem vorhergehenden Zeichen oder Unterausdruck überein.
\n entspricht einer Zeilenumbruchzeile, \t entspricht einer Registerkarte usw.
\w passt zu jedem Wortbestandteil und \ W zu jedem Zeichen, das kein Wortbestandteil ist.
\<\> stimmt mit der leeren Zeichenfolge nur am Anfang oder Ende eines Wortes überein
\b passt entweder zu und \ B passt wo \ b nicht.
Symbol Details Erweiterte reguläre Ausdrücke (ERE)
^ Spiel nur am Anfang
$ Übereinstimmung nur am Ende einer Zeile.
. entspricht einem beliebigen Zeichen (oder einem Zeichen außer einem Zeilenumbruch).
[…] stimmt mit einem beliebigen Zeichen überein, das in den Klammern (Zeichensatz) aufgeführt ist. Fügen Sie ein erstes ^ hinzu, und die Bereiche funktionieren wie in BRE (siehe oben).
(…) Syntaxgruppe, zur Verwendung mit * oder \ DIGIT-Ersetzungen.
\| zur Abwechslung: foo | bar entspricht foo oder bar.
* stimmt mehrmals mit dem vorhergehenden Zeichen oder Unterausdruck überein: 0, 1 oder mehr Male
+ stimmt mindestens einmal mit dem vorhergehenden Zeichen überein.
? entspricht den vorhergehenden Zeichen 0 oder 1 Mal.
\ Backslash setzt das nächste Zeichen in Anführungszeichen, wenn es nicht alphanumerisch ist.
{m,n} stimmt mit dem vorhergehenden Zeichen oder Unterausdruck zwischen m und n mal überein (fehlt bei einigen Implementierungen); n oder m können weggelassen werden und {m} bedeutet genau m

Bemerkungen

fgrep steht für "Fixed-String Global Regular Expressions Print". fgrep ist das gleiche wie grep -F . Dieser Befehl ist ein schnelleres grep und verhält sich wie grep, erkennt jedoch KEINE regulären Ausdrücke als Sonderzeichen. Die Suche wird schneller abgeschlossen, da nur ein einfacher String und kein komplexes Muster verarbeitet wird.


pgrep ist eine Abkürzung für "Process-ID Global Regular Expressions Print". pgrep durchsucht die aktuell laufenden Prozesse und listet die Prozess-IDs auf, die den Auswahlkriterien für stdout entsprechen. pgrep ist praktisch, wenn Sie nur die Prozess-ID-Ganzzahl eines Prozesses kennen möchten.

grep egrep (grep -E) fgrep (grep -F) pgrep
Grundlegende reguläre Ausdrücke (BRE) Erweiterte reguläre Ausdrücke (ERE) Sucht nur Zeichenfolgen Sucht den Prozess nach Namen

Für weitere Informationen und Verweise verwenden Sie einige der folgenden Links:

Was ist der Unterschied zwischen grep, egrep und fgrep? Unix und Linux StackExchange

Warum funktioniert mein regulärer Ausdruck in X, aber nicht in Y? Unix und Linux StackExchange

Was ist der Unterschied zwischen grep, pgrep, egrep, fgrep? Superuser

Unterschied zwischen grep, egrep, fgrep, pgrep. Verwandte Beispiele