English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Linux grep Befehl

Linux Command大全

Der Linux grep-Befehl wird verwendet, um Dateien zu durchsuchen, deren Inhalt den angegebenen Musterstil enthält.

Der Linux grep-Befehl wird verwendet, um Dateien zu durchsuchen, deren Inhalt den angegebenen Musterstil enthält. Wenn eine Datei mit dem angegebenen Musterstil gefunden wird, zeigt das grep-Befehl standardmäßig die Spalte mit dem Musterstil an. Wenn kein Dateiname angegeben ist oder der angegebene Dateiname leer ist, liest das grep-Befehl Daten vom Standard-Eingabegerät. -Wenn keine Dateinamen angegeben sind oder der angegebene Dateiname leer ist, liest das grep-Befehl Daten vom Standard-Eingabegerät.

Syntax

grep [-abcEFGhHilLnqrsvVwxy][-A<Anzahl der anzuzeigenden Zeilen>][-B<Anzahl der anzuzeigenden Spalten>][-C<Anzahl der anzuzeigenden Spalten>][-d<Aktion durchführen>][-e<Mustervorlage>][-f<Mustervorlage>][--help][Musterstil][Datei oder Verzeichnis...]

Parameter

  • -oder  --text Ignorieren Sie nicht binäre Daten.

  • -oder   --after-context=<Anzahl der anzuzeigenden Zeilen> Außer der Anzeige der Spalte, die dem Musterstil entspricht, wird auch der Inhalt nach der Zeile angezeigt.

  • -oder --byte-offset Markieren Sie vor der Anzeige der Zeile, die dem Stil entspricht, die Nummer des ersten Zeichens.

  • -oder  --before-context=<Anzahl der anzuzeigenden Zeilen> Außer der Anzeige der Zeile, die dem Stil entspricht, wird auch der Inhalt vor der Zeile angezeigt.

  • -oder  --count Berechnen Sie die Anzahl der Spalten, die dem Stil entsprechen.

  • -oder  --context=<Anzahl der anzuzeigenden Zeilen> oder-<Anzahl der anzuzeigenden Zeilen> Außer der Anzeige der Zeile, die dem Stil entspricht, wird auch der Inhalt vor und nach der Zeile angezeigt.

  • -oder    --directories=<Aktion> Wenn das Suchen eines Verzeichnisses anstelle einer Datei angegeben ist, muss dieses Argument verwendet werden. Andernfalls wird das grep-Befehl eine Meldung zurückgeben und den Vorgang beenden.

  • -oder --regexp=<Musterstil> Bestimmen Sie eine Zeichenfolge als den Stil zur Suche nach Dateiinhalten.

  • -oder  --extended-regexp Verwenden Sie den Stil als erweiterten regulären Ausdruck.

  • -oder --file=<Regeldatei> Bestimmen Sie die Regeldatei, deren Inhalt eine oder mehrere Regelstile enthält, die grep zur Suche nach Dateien mit Inhalten, die den Regelbedingungen entsprechen, verwenden kann. Der Format ist eine Regelstyle pro Zeile.

  • -oder --fixed-regexp Stellen Sie den Stil als Liste von festen Zeichenfolgen zur Verfügung.

  • -oder --basic-regexp Stellen Sie den Stil als einfache Darstellungsmethode zur Verfügung.

  • -oder --no-filename Bevor eine Zeile mit dem entsprechenden Stil angezeigt wird, wird der Dateiname der Zeile nicht angezeigt.

  • -H oder --with-filename : Zeigt vor der anzuzeigenden Zeile mit dem Stil an, der Dateiname der Zeile.

  • -i oder  --ignore-case : Ignoriert die Unterschiede zwischen Gross- und Kleinbuchstaben.

  • -l oder --file-with-matches : Listet Dateinamen auf, deren Inhalt dem angegebenen Stil entspricht.

  • -L oder  --files-without-match : Listet Dateinamen auf, deren Inhalt dem angegebenen Stil nicht entspricht.

  • -n oder --line-number : Markiert vor der anzuzeigenden Zeile mit dem Stil, die Zeilennummer der Spalte.

  • -o oder --only-matching : Zeigt nur den PATTERN-Teil, der dem Muster entspricht.

  • -q oder --quiet oder--silent : Zeigt keine Informationen an.

  • -r oder --recursive : Der Effekt dieses Parameters ist gleich dem angegebenen "-d recurse-Parameter sind gleich.

  • -s oder --no-messages : Zeigt keine Fehlermeldungen an.

  • -v oder --invert-match : Zeigt alle Zeilen an, die den Text nicht enthalten.

  • -V oder --version : Zeigt Versionsinformationen an.

  • -w oder  --word-regexp : Zeigt nur die Spalten an, die dem Wort entsprechen.

  • -x    --line-regexp : Zeigt nur die Spalten an, die dem Muster entsprechen.

  • -y : Der Effekt dieses Parameters ist gleich dem angegebenen "-i-Parameter sind gleich.

Linux Command大全

Online-Beispiel

1、in aktueller Verzeichnis, sucht nach Dateien mit der Endung "file", die den String "test" enthalten, und druckt die Zeile des Strings aus. Zu diesem Zweck kann der folgende Befehl verwendet werden:

grep test *file

Results as shown below:

$ grep test test* # Sucht nach Dateien mit dem Präfix "test", die den String "test" enthalten  
testfile1:Dies ein Linux testfile! # Listet testfile auf1 Zeilen, die den Zeichen "test" enthalten  
testfile_2:Dies ist ein linux testfile! # Listet testfile_ auf2 Zeilen, die den Zeichen "test" enthalten  
testfile_2:Linux test # Listet testfile_ auf2 Zeilen, die den Zeichen "test" enthalten

2、rekursiv nach passenden Dateien suchen. Zum Beispiel, suchen nach dem angegebenen Verzeichnis/etc/acpi und alle Unterverzeichnisse (falls vorhanden) enthalten Dateien, die den String "update" enthalten, und drucken den Inhalt der Zeile, in der dieser String enthalten ist, aus. Der verwendete Befehl ist:

grep -r update /etc/acpi

Die Ausgabeergebnisse sind wie folgt:

$ grep -r update /etc/acpi # Suche rekursiv nach "etc/acpi  
# Hier enthalten sind Dateien, die "update" enthalten  
/etc/acpi/ac.d/85-anacron.sh:# (Dinge wie slocate updatedb verursachen eine Menge IO.)  
Rather than  
/etc/acpi/resume.d/85-anacron.sh:# (Things like the slocate updatedb cause a lot of  
IO.) Rather than  
/etc/acpi/events/thinkpad-cmos:action=/usr/sbin/thinkpad-keys--update

3Reverse search. The previous examples are to find and print out the lines that meet the conditions, through"-v"parameter can print the content of the lines that do not meet the conditions.

To find the lines in files whose names contain 'test' but do not contain 'test', the following command is used:

grep -v test *test*

Results as shown below:

$ grep-v test* #Find files whose names contain 'test' but do not contain 'test' in the lines  
testfile1:helLinux!  
testfile1:Lin is a free Unix-type operating system.  
testfile1:Lin  
testfile_1:HELLO LINUX!  
testfile_1:LINUX IS A FREE UNIX-TYPE OPERATING SYSTEM.  
testfile_1:THIS IS A LINUX TESTFILE!  
testfile_2:HELLO LINUX!  
testfile_2:Linux is a free Unix-Operating system type.