Latest web development tutorials

Linux grep

Linux-Befehl Daquan Linux - Befehl Daquan

Linux grep-Befehl wird verwendet, um Dateien zu finden, die die Kriterien Zeichenfolge übereinstimmen.

grep-Befehl wird verwendet, um Inhalte zu finden, die die angegebene Vorlage Stil-Datei enthält, wenn Sie den Inhalt einer Datei zu finden entspricht dem angegebenen Vorlage Stil, der Standard-Befehl grep, der die Stilvorlage Spalten angezeigt enthalten wird. Wenn keine Dateinamen, Dateinamen oder gegeben "-" der Befehl grep werden die Daten aus dem Standard-Eingabegerät gelesen.

Grammatik

grep [-abcEFGhHilLnqrsvVwxy][-A<显示列数>][-B<显示列数>][-C<显示列数>][-d<进行动作>][-e<范本样式>][-f<范本文件>][--help][范本样式][文件或目录...]

Parameter:

  • -a --text nicht oder Binär-Daten ignorieren.
  • -A <Anzeigespalten> oder --after-context = <Display Spalten> Neben der Zeile in Zeile außerhalb der Vorlage Stil angezeigt wird, und zeigt den Inhalt der Spalte später.
  • -b oder --byte-Offset, bevor die Zeile im Einklang mit den Template-Stile und identifizieren die Zeilennummer der ersten Zeichenposition angezeigt wird.
  • -B <Display Spalten> oder --Vor-context = <Display Spalten> Neben der Zeile in Zeile außerhalb der Vorlage Stil angezeigt wird, und zeigt den Inhalt der Säule vor.
  • -c oder --count in Übereinstimmung mit der Anzahl der Spalten Vorlagenstile berechnet.
  • -C <Display Spalten> oder --context = <Anzeigespalten> oder - <Display Spalten> Neben der Zeile in Zeile außerhalb der Vorlage Stil angezeigt wird, und zeigt den Inhalt der Säule vor dem nach.
  • -d <funktioniert> oder --directories = <funktioniert> Wenn Sie die angegebene Datei ein Verzeichnis finden wollen stattdessen ist, müssen Sie diesen Parameter verwenden, sonst wird der Befehl grep Informationen zurückgeben und Aktion zu stoppen.
  • -e <style template> oder --regexp = <template style> Suchen Sie nach den Dateiinhalt als String-Formatvorlage angegeben.
  • -E Oder --extended-regexp die Vorlage-Stil für die allgemeine Notation Verlängerung verwendet.
  • -f <Template-Datei> oder --file = <Vorlagendatei> Gibt die Template-Datei, deren Inhalt eine oder mehrere Vorlagenstile enthalten, so grep Inhalt Template-Dateien zu finden, die die Bedingungen des Formats für jede Spalte eine Vorlage Stil erfüllen.
  • -F Oder --fixed-regexp wird als Vorlage Stil Liste der festen Strings behandelt werden.
  • -G Oder --basic-regexp wird als gewöhnliche Vorlage Notation behandelt werden zu können.
  • -h oder --no-Dateiname, bevor die Zeile in Übereinstimmung mit den Template-Stile angezeigt werden, zeigen nicht die Dateinamen der Spalte gehört.
  • -H Oder --with-Dateiname, bevor die Zeile in Übereinstimmung mit den Vorlagen, die Anzeige zeigt den Dateinamen, dass die Spalte gehört.
  • Differenz -i oder --ignore-Fall ignorieren Zeichen Fall.
  • -l oder --file-mit-Matches listet den Inhalt der Dokumente, die die angegebenen Template-Stil Dateinamen übereinstimmen.
  • -L Oder --files-ohne-Spiel Inhalt Listendatei kann die angegebene Vorlage-Stil Dateinamen nicht überein.
  • -n oder --line-Nummer, bevor die Zeile im Einklang mit der Stilvorlage angezeigt wird, die Anzahl der Spalten Nummer der Spalte markieren.
  • -q oder --quiet oder --silent keine Informationen angezeigt werden soll.
  • Effekte und geben -r oder --recursive dieser Parameter das gleiche wie "-d recurse" Parameter ist.
  • -s oder --no-Meldungen keine Fehlermeldung angezeigt.
  • -v oder --revert-match-Reverse-Lookup.
  • -V Oder --version Versionsnummer anzeigen.
  • -w oder --word-regexp zeigt nur Ganzwort passende Spalten.
  • -x oder --line-regexp Anzeige nur die Zeilen, die die ganze Spalte entsprechen.
  • -y Wirkung dieser Parameter, und geben Sie "i" die gleichen Parameter.
  • --help Online-Hilfe.

Linux-Befehl Daquan Linux - Befehl Daquan

Beispiele

1, im aktuellen Verzeichnis, finden Suffix "test" Word-Datei enthält die Datei "Test" string haben und aus der Linie der Zeichenfolge zu drucken. In diesem Fall können Sie den folgenden Befehl verwenden:

grep test *file 

Die Ergebnisse sind wie folgt:

$ grep test test* #查找后缀有“test”的文件包含“test”字符串的文件  
testfile1:This a Linux testfile! #列出testfile1 文件中包含test字符的行  
testfile_2:This is a linux testfile! #列出testfile_2 文件中包含test字符的行  
testfile_2:Linux test #列出testfile_2 文件中包含test字符的行 

2, rekursiv qualifizierte Dateien. Zum Beispiel wird das angegebene Verzeichnis / etc / acpi und dessen Unterverzeichnissen zu finden (wenn es ein Unterverzeichnis ist, dann), um alle Dateien, die die Zeichenfolge "update" Datei enthalten, und die Inhalte der Zeichenfolge, die die Zeile ausdrucken, verwendet der Befehl:

grep -r update /etc/acpi 

Der Ausgang ist wie folgt:

$ grep-r update /etc/acpi #以递归的方式查找“etc/acpi”  
#下包含“update”的文件  
/etc/acpi/ac.d/85-anacron.sh:# (Things like the slocate updatedb cause a lot of 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 

3, Reverse-Lookup. Jede der vorherigen Beispiele zu finden und die Ergebniszeilen von "-v" Parameter ausdrucken kann aus dem Inhalt drucken nicht die Bedingungen der Linie entsprechen.

Suchen Sie die Zeile, die den Dateinamen enthält, wird nicht in den Test des Tests enthalten, diesmal lautet der Befehl:

grep -v test*

Die Ergebnisse sind wie folgt:

$ grep-v test* #查找文件名中包含test 的文件中不包含test 的行  
testfile1:helLinux!  
testfile1:Linis a free Unix-type operating system.  
testfile1:Lin  
testfile_1:HELLO LINUX!  
testfile_1:LINUX IS A FREE UNIX-TYPE OPTERATING SYSTEM.  
testfile_1:THIS IS A LINUX TESTFILE!  
testfile_2:HELLO LINUX!  
testfile_2:Linux is a free unix-type opterating system.