Thursday 14 September 2017

Linux Grep No Binary Option


Linux und Unix grep Befehl grep. Die für den globalen Ausdruck eines regulären Ausdrucks steht, verarbeitet Text zeilenweise und druckt alle Zeilen, die einem bestimmten Muster entsprechen. Grep-Syntax Grep ist ein leistungsstarkes Werkzeug, um einen regulären Ausdruck gegen Text in einer Datei, mehreren Dateien oder einem Strom von Eingaben zuzuordnen. Es sucht nach dem PATTERN von Text, den Sie in der Befehlszeile angeben, und gibt die Ergebnisse für Sie aus. Beispiel-Verwendung Lets sagen wollen schnell finden Sie die Phrase unserer Produkte in HTML-Dateien auf Ihrem Rechner. Beginnen wir mit der Suche nach einer einzelnen Datei. Hier ist unser PATTERN unsere Produkte und unsere FILE ist product-listing. html. Es wurde eine einzige Zeile gefunden, die unser Muster enthält, und grep gibt die gesamte übereinstimmende Zeile an das Terminal aus. Die Zeile ist länger als unsere Terminalbreite, so dass der Text um die folgenden Zeilen herumläuft, aber dieser Ausgang entspricht genau einer Zeile in unserer DATEI. Hinweis: Das PATTERN wird von grep als regulärer Ausdruck interpretiert. Im obigen Beispiel werden alle verwendeten Zeichen (Buchstaben und ein Leerzeichen) wörtlich in regulären Ausdrücken interpretiert, sodass nur die genaue Wortgruppe übereinstimmt. Andere Zeichen haben spezielle Bedeutungen, jedoch mdash einige Satzzeichen, zum Beispiel. Weitere Informationen finden Sie in der Regular Expression-Kurzübersicht. Grep-Ausgabe in Farbe anzeigen Wenn wir die Option - color verwenden, werden unsere erfolgreichen Matches für uns hervorgehoben: Anzeigen von Zeilennummern erfolgreicher Spiele Es ist noch nützlicher, wenn wir wissen, wo die passende Zeile in unserer Datei erscheint. Wenn wir die Option - n angeben, wird grep jede passende Zeile mit der Zeilennummer voranstellen: Unsere passende Zeile ist mit 18 vorangestellt, was uns sagt, das entspricht Zeile 18 in unserer Datei. Grep-Suchvorgänge bei Groß - und Kleinschreibung durchführen Was geschieht, wenn unsere Produkte am Anfang eines Satzes erscheinen oder in Großbuchstaben erscheinen? Wir können die Option - i angeben, um eine Groß - / Kleinschreibung zu berücksichtigen: Mit der Option - i findet grep eine Übereinstimmung in der Zeile 23 als auch. Suchen von mehreren Dateien mit einem Platzhalter Wenn wir mehrere Dateien zum Suchen haben, können wir sie alle mit einem Platzhalter in unserem FILE-Namen durchsuchen. Statt der Angabe von product-listing. html. Können wir ein asterisk () und die Erweiterung. html verwenden. Wenn der Befehl ausgeführt wird, erweitert die Shell den Stern auf den Namen einer Datei, die sie findet (innerhalb des aktuellen Verzeichnisses), die in. html endet. Beachten Sie, dass jede Zeile mit der spezifischen Datei beginnt, wo diese Übereinstimmung auftritt. Rekursives Suchen von Unterverzeichnissen Wir können unsere Suche auf Unterverzeichnisse und alle Dateien, die sie enthalten, mit der Option - r erweitern, die Grep angibt, ihre Suche rekursiv durchzuführen. Wir können unseren FILE-Namen nur auf einen Asterisk () ändern, damit er mit jedem beliebigen Datei - oder Verzeichnisnamen und nicht nur mit HTML-Dateien übereinstimmt. Beachten Sie, dass der Verzeichnisname für alle übereinstimmenden Dateien enthalten ist, die sich nicht im aktuellen Verzeichnis befinden. Verwenden von regulären Ausdrücken, um leistungsstärkere Suchvorgänge durchzuführen Die wahre Leistung von grep ist, dass sie verwendet werden kann, um reguläre Ausdrücke anzupassen. (Das ist, was die re in grep steht). Reguläre Ausdrücke verwenden Sonderzeichen in der PATTERN-Zeichenfolge, um ein breiteres Array von Zeichenfolgen zu entsprechen. Sehen wir uns ein einfaches Beispiel an. Lets sagen, Sie wollen jedes Vorkommen einer Phrase ähnlich wie unsere Produkte in Ihren HTML-Dateien zu finden, aber die Phrase sollte immer mit unseren beginnen und enden mit Produkten. Wir können dieses PATTERN statt: our. products. In regulären Ausdrücken wird die Periode (.) Als Ein-Zeichen-Platzhalter interpretiert. Es bedeutet, dass jedes Zeichen, das an dieser Stelle erscheint, übereinstimmt. Das Sternchen () bedeutet, dass das vorhergehende Zeichen, das null oder mehrmals erscheint, übereinstimmt. Also die Kombination. Wird eine beliebige Anzahl von Zeichen entsprechen. Zum Beispiel werden unsere erstaunlichen Produkte, unsere, die besten Produkte und sogar unsere Produkte zusammenpassen. Und weil wir die Option - i angeben, werden auch unsere PRODUKTE und OuRPRoDuCtS passen. Wir können den Befehl mit diesem regulären Ausdruck ausführen und sehen, welche zusätzlichen Treffer wir bekommen können: Hier haben wir auch eine Übereinstimmung aus dem Satz unsere feinen Produkte. Grep ist ein leistungsfähiges Werkzeug, das Ihnen helfen kann, mit Textdateien zu arbeiten, und es erhält sogar leistungsfähiger, wenn Sie bequem mit regelmäßigen Ausdrücken werden. Technische Beschreibung grep durchsucht die benannte Eingabe FILE s (oder Standardeingabe, wenn keine Dateien benannt sind oder wenn ein einziger Bindestrich (-) als Dateiname angegeben wird) für Zeilen, die eine Übereinstimmung mit dem angegebenen PATTERN enthalten. Standardmäßig druckt grep die übereinstimmenden Zeilen. Darüber hinaus sind drei Varianten-Programme egrep. Fgrep und rgrep sind verfügbar: egrep ist das gleiche wie running grep - E. In diesem Modus wertet grep Ihre PATTERN-Zeichenfolge als erweiterten regulären Ausdruck (ERE) aus. Heutzutage reicht ERE nicht weit über grundlegende reguläre Ausdrücke hinaus, aber sie können noch sehr nützlich sein. Weitere Informationen zu erweiterten regulären Ausdrücken finden Sie unter Basic vs. Extended Regular Expressions. unten. Fgrep ist das gleiche wie run grep - F. In diesem Modus wertet grep Ihre PATTERN-Zeichenfolge als festen String mdash aus. Jedes Zeichen in Ihrem String wird wörtlich behandelt. Wenn zum Beispiel Ihr String ein Sternchen () enthält, versucht grep, es mit einem tatsächlichen Sternchen zu vergleichen, anstatt es als Platzhalter zu interpretieren. Wenn Ihre Zeichenkette mehrere Zeilen enthält (wenn sie Zeilenumbrüche enthält), wird jede Zeile als eine feste Zeichenkette betrachtet, und jeder von ihnen kann eine Übereinstimmung auslösen. Rgrep ist das gleiche wie run grep - r. In diesem Modus führt grep seine Suche rekursiv durch. Wenn es auf ein Verzeichnis trifft, wird es in dieses Verzeichnis übergehen und weiter suchen. (Symbolische Links werden ignoriert, wenn Sie Verzeichnisse suchen möchten, die symbolisch verknüpft sind, stattdessen sollten Sie die Option - R verwenden). In älteren Betriebssystemen, egrep. Fgrep und rgrep waren unterschiedliche Programme mit ihren eigenen exectuables. In modernen Systemen sind diese speziellen Befehlsnamen einfach Verknüpfungen zu grep mit den entsprechenden Flags aktiviert. Sie sind funktional gleichwertig. Allgemeine Optionen Drucken Sie eine Hilfemeldung, die die Befehlszeilenoptionen kurz zusammenfasst und beendet. Verwenden Sie nach Möglichkeit den mmap-Systemaufruf, um die Eingabe zu lesen, anstelle des standardmäßigen Systemaufrufs. In einigen Situationen liefert --mmap eine bessere Leistung. Jedoch kann --mmap undefiniertes Verhalten (einschließlich Core Dumps) verursachen, wenn eine Eingabedatei schrumpft, während grep arbeitet, oder wenn ein E / A-Fehler auftritt. Behandeln Sie die Datei (en) als binär. Standardmäßig legt grep unter MS-DOS und MS-Windows den Dateityp fest, indem er den Inhalt der ersten 32 KB aus der Datei ansieht. Wenn grep entscheidet, dass die Datei eine Textdatei ist, löscht sie die CR-Zeichen aus dem ursprünglichen Dateiinhalt (um reguläre Ausdrücke mit ordnungsgemäß auszuführen und korrekt auszuführen). Das Angeben von - U überschreibt diese Schätzung, wobei bewirkt wird, dass alle Dateien gelesen und an den übereinstimmenden Mechanismus verbatim übergeben werden, wenn die Datei eine Textdatei mit CR / LF-Paaren am Ende jeder Zeile ist, wird dies dazu führen, dass einige reguläre Ausdrücke fehlschlagen. Diese Option hat keine Auswirkungen auf andere Plattformen als MS-DOS und MS-Windows. Behandeln Sie die Eingabe als einen Satz von Zeilen, die jeweils durch ein Null-Byte (das ASCII-NUL-Zeichen) anstelle eines Zeilenumbruchs beendet werden. Wie bei der Option - Z oder --null kann diese Option mit Befehlen wie sort - z verwendet werden, um beliebige Dateinamen zu verarbeiten. Reguläre Ausdrücke Ein regulärer Ausdruck ist ein Muster, das einen Satz von Zeichenfolgen beschreibt. Reguläre Ausdrücke werden analog zu arithmetischen Ausdrücken konstruiert, indem verschiedene Operatoren verwendet werden, um kleinere Ausdrücke zu kombinieren. Grep versteht drei verschiedene Versionen der regulären Expressionssyntax: quotbasicquot (BRE), quotextendedquot (ERE) und quotperlquot (PRCE). In GNU grep. Gibt es keinen Unterschied in der verfügbaren Funktionalität zwischen grundlegenden und erweiterten Syntaxen. In anderen Implementierungen sind grundlegende reguläre Ausdrücke weniger leistungsfähig. Die folgende Beschreibung gilt für erweiterte reguläre Ausdrücke Unterschiede für grundlegende reguläre Ausdrücke sind nachfolgend zusammengefasst. Perl reguläre Ausdrücke geben zusätzliche Funktionalität. Die grundlegenden Bausteine ​​sind die regulären Ausdrücke, die einem einzelnen Zeichen entsprechen. Die meisten Zeichen, einschließlich aller Buchstaben und Ziffern, sind reguläre Ausdrücke, die sich selbst entsprechen. Jedes meta-Zeichen mit besonderer Bedeutung kann zitiert werden, indem es mit einem Backslash vorausgeht. Der Zeitraum (.) Entspricht einem einzelnen Zeichen. Zeichenklassen und Klammerausdrücke Ein Klammerausdruck ist eine Liste von Zeichen, die von und eingeschlossen werden. Er stimmt mit jedem einzelnen Zeichen in dieser Liste überein, wenn das erste Zeichen der Liste das Caret ist, dann entspricht es jedem Zeichen, das nicht in der Liste ist. Beispielsweise entspricht der reguläre Ausdruck 0123456789 einer beliebigen Ziffer. Innerhalb eines Klammerausdrucks besteht ein Bereichsausdruck aus zwei Zeichen, die durch einen Bindestrich getrennt sind. Es passt zu jedem einzelnen Zeichen, das zwischen den beiden Zeichen, einschließlich, unter Verwendung der Gebietsschema-Sortierfolge und des Zeichensatzes sortiert. Beispielsweise ist in der Standard-C-Sprachumgebung a-d äquivalent zu abcd. Viele Locales sortieren Zeichen in der Wörterbuchreihenfolge, und in diesen Gebietsschemata ist a-d typischerweise nicht äquivalent zu abcd, was äquivalent zu aBbCcDd sein könnte. beispielsweise. Um die traditionelle Interpretation von Klammerausdrücken zu erhalten, können Sie das C-Gebietsschema verwenden, indem Sie die LCALL-Umgebungsvariable auf den Wert C setzen. Schließlich sind bestimmte benannte Klassen von Zeichen in Klammerausdrücken wie folgt vordefiniert. Ihre Namen sind selbsterklärend, und sie sind: alnum:. : Alpha:. : Cntrl:. : Ziffer:. : Graph:. :niedriger: . :drucken: . : Punct:. :Raum: . : Obere:. Und: xdigit:. Zum Beispiel: alnum: bedeutet die Zeichenklasse von Zahlen und Buchstaben im aktuellen Gebietsschema. In der C-Locale - und ASCII-Zeichensatzcodierung entspricht dies 0-9A-Za-z. (Beachten Sie, dass die Klammern in diesen Klassennamen Bestandteil der symbolischen Namen sind und zusätzlich zu den Klammern, die den Klammerausdruck begrenzen, enthalten sein müssen.) Die meisten Metazeichen verlieren ihre spezielle Bedeutung in Klammerausdrücken. Um einen literalen Platz zuerst in die Liste aufzunehmen. Ebenso, um einen wörtlichen Ort, es überall, aber zuerst. Schließlich, um ein Literal -. Legen Sie es zuletzt. Das Caret - und das Dollarzeichen sind Metazeichen, die jeweils mit dem leeren String am Anfang und am Ende einer Zeile übereinstimmen. Der Backslash-Charakter und spezielle Ausdrücke Die Symbole lt und gt entsprechen jeweils dem leeren String am Anfang und am Ende eines Wortes. Das Symbol b stimmt mit dem leeren String am Rand eines Wortes überein, und B stimmt mit dem leeren String überein, wenn er nicht am Rand eines Wortes steht. Das Symbol w ist ein Synonym für: alnum: und W ist ein Synonym für: alnum:. Repetition Ein regulärer Ausdruck kann von einem von mehreren Wiederholungsoperatoren gefolgt werden: 12 Praktische Beispiele für Linux grep Command Sind Sie schon einmal mit der Aufgabe konfrontiert, nach einer bestimmten Zeichenfolge oder einem bestimmten Muster in einer Datei zu suchen, haben Sie dennoch keine Ahnung, wo sie anfangen sollen, gut zu suchen Dann ist hier grep, um die Rettung 12 Grep-Befehl Beispiele grep ist ein leistungsfähiges File Pattern-Sucher, der auf jeder Distribution von Linux ausgestattet ist. Wenn es aus irgendeinem Grund nicht auf Ihrem System installiert ist, können Sie es einfach über Ihren Paketmanager installieren (apt-get auf Debian / Ubuntu und yum auf RHEL / CentOS / Fedora). Ich habe festgestellt, dass der einfachste Weg, um Ihre Füße feucht mit grep ist einfach nur eintauchen und verwenden Sie einige reale Welt Beispiele. 1. Suchen und Finden von Dateien Lets sagen, dass Sie nur eine neue Kopie der neuen Ubuntu auf Ihrem Rechner installiert haben, und dass Sie zu geben Python Scripting einen Schuss. Sie haben das Web auf der Suche nach Tutorials geputzt, aber Sie sehen, dass es zwei verschiedene Versionen von Python im Einsatz gibt und Sie wissen nicht, welches von Ihrem Ubuntu-Installationsprogramm auf Ihrem System installiert wurde oder ob es Module installiert hat. Führen Sie einfach diesen Befehl: Sample Output Zuerst liefen wir dpkg l. Die installierte. deb-Pakete auf Ihrem System auflistet. Zweitens piped wir diese Ausgabe zu grep i python, die einfache Zustände zu grep gehen und herausfiltern und alles mit Python zurückgeben. Die i-Option gibt es zu ignorieren-Fall, da grep ist Groß-und Kleinschreibung. Mit der i-Option ist eine gute Angewohnheit zu bekommen, wenn Sie natürlich nicht versuchen, eine spezifische Suche Nagel. 2. Suchen und Filtern von Dateien Der grep kann auch zum Suchen und Filtern in einzelnen Dateien oder mehreren Dateien verwendet werden. Nehmen wir dieses Szenario: Sie haben einige Probleme mit Ihrem Apache Web Server. Und Sie haben erreicht, um eines der vielen ehrfürchtigen Foren auf dem Netz, das um etwas Hilfe bittet. Die freundliche Seele, die auf Sie antwortet, hat Sie gebeten, den Inhalt Ihrer / etc / apache2 / sites-available / default-ssl-Datei zu posten. Würde es nicht einfacher für Sie sein, der Kerl, der Ihnen hilft, und jeder, der es liest, wenn Sie alle kommentierten Linien entfernen konnten Gut, das Sie gerade laufen können: Die v-Wahl sagt grep, um seine Ausgabe umzukehren, das bedeutet, dass anstatt, zusammenpassende Linien zu drucken , Das Gegenteil ausführen und alle Zeilen drucken, die nicht mit dem Ausdruck übereinstimmen, in diesem Fall den kommentierten Zeilen. 3. Finden Sie alle Dateien nur. mp3 Nur das grep kann sehr nützlich für das Filtern von stdout sein. Zum Beispiel können Sie sagen, dass Sie einen ganzen Ordner voller Musik-Dateien in einem Bündel von verschiedenen Formaten haben. Sie möchten alle. mp3-Dateien des Künstlers JayZ finden. Aber Sie wollen keine der remixed Tracks. Die Verwendung eines find-Befehls mit ein paar Grep-Pipes macht den Trick: In diesem Beispiel verwenden wir find, um alle Dateien mit der Erweiterung. mp3 zu drucken. Piping es zu grep i zu filtern und druckt alle Dateien mit dem Namen JayZ und dann ein anderes Rohr zu grep vi, die herausfiltern und nicht alle Dateinamen mit dem String (in jedem Fall) remix drucken. 4. Zeilenanzahl vor oder nach dem Suchstring anzeigen Ein weiteres Paar von Optionen sind die A - und B-Schalter, die die übereinstimmende Zeile und die Anzahl der Zeilen anzeigen, die vor oder nach dem Suchstring stehen. Während die Manpage gibt eine ausführlichere Erklärung, finde ich es am einfachsten, um die Optionen wie A nach erinnern. Und B vor: 5. Prints Anzahl der Zeilen um Match Die greps C-Option ist ähnlich, aber anstatt die Zeilen, die entweder vor oder nach der Zeichenfolge gedruckt werden, druckt die Zeilen in beide Richtungen: 6. Anzahl der Übereinstimmungen Ähnlich wie (Wc-Programm) greps integrierte Option kann das gleiche für Sie durchführen: 7. Suchen von Dateien durch gegebene Zeichenfolge Die Option n für grep ist sehr nützlich beim Debuggen von Dateien während der Kompilierung von Fehlern. Sie zeigt die Zeilennummer in der Datei des angegebenen Suchtextes an: 8. Suchen einer Zeichenkette Rekursiv in allen Verzeichnissen Wenn Sie nach einer Zeichenkette im aktuellen Verzeichnis mit allen Unterverzeichnissen suchen möchten, können Sie die Option r angeben Suche rekursiv: 9. Sucht nach dem gesamten Muster Übergeben der w-Option nach grep sucht nach dem gesamten Muster, das sich im String befindet. Zum Beispiel, mit: Wird die Zeile mit dem Muster in Anführungszeichen. Auf der anderen Seite, wenn Sie versuchen: Nichts wird zurückgegeben werden, da wir nicht auf der Suche nach einem Muster, sondern ein ganzes Wort. 10. Suche eine Zeichenfolge in Gzipped Files Erwähnen einige Erwähnung sind Greps Derivate. Die erste ist zgrep. Die, ähnlich wie zcat. Ist für die Verwendung auf gzip-Dateien. Es dauert die gleichen Optionen wie grep und wird in der gleichen Weise verwendet: 11. Match regulären Ausdruck in Dateien Die egrep ist eine weitere Ableitung, die für Extended Global Regular Expression steht. Es erkennt zusätzlichen Ausdruck meta-Zeichen wie at. und () . Egrep ist sehr nützlich für die Suche von Quelldateien, und andere Stücke von Code, sollte die Notwendigkeit entstehen. Es kann von regulären grep mit der E-Option aufgerufen werden. 12. Suchen einer festen Pattern-Zeichenfolge Der fgrep sucht nach einer Datei oder einer Liste von Dateien nach einem festen Musterstring. Es ist das gleiche wie grep F. Eine allgemeine Methode, fgrep zu verwenden, besteht darin, eine Datei mit Mustern zu übergeben: Dies ist nur ein Ausgangspunkt mit grep. Aber wie Sie wahrscheinlich sehen können, ist es von unschätzbarem Wert für eine Vielzahl von Zwecken. Abgesehen von den einfachen Zeilenbefehlen, die wir implementiert haben, kann grep verwendet werden, um leistungsstarke Cron-Jobs zu schreiben und robuste Shell-Skripte. für den Anfang. Seien Sie kreativ, experimentieren Sie mit den Optionen in der Manpage. Und kommen mit grep Ausdrücke, die Ihre eigenen Zwecke dienen Im neuen zu grep, aber ich habe es sehr praktisch gefunden. Ich habe allot der Suche die gleichen Dateien jeden Tag und die meiste Zeit seine eine einzelne Datei grep - i - A50 8220diskview - j8221 - Report weniger - R Ich habe diese alias, dass große Gedanken funktioniert manchmal bin ich auf mehreren Systemen auf einmal und arbeiten Sie alle haben die gleiche Datei. Ich muss wissen, was Array Ich bin auf der Suche aber ich brauche es nicht, um den Dateinamen für alle 50 Zeilen zu drucken. Also, was ich versuchte, herauszufinden, ist, kann ich ein grep - i - l 8220diskview - j8221 - Report gefolgt von meinem ursprünglichen grep-Befehl, so dass ich den Dateinamen von ihm selbst gefolgt von der diskview - j und die nächsten 50 Zeilen erhalten Ist dies zu produzieren 3 Dateinamen gefolgt von 3 diskveiw - j Berichte Sehr nützlich. Thanks8230 Etwas zu sagen Machen Sie mit bei der Diskussion. Abbrechen Antwort BEGINNER GUIDE FÜR LINUX Lernen Sie Linux in wenigen Minuten Vi / Vim Editor BEGINNER GUIDE Lernen Sie vi / vim als Volltext-Editor Linux Foundation Zertifizierung Exam Study Guide für LFCS und LFCE Aaron Kili sagt: Ravi Saive sagt: Klopfen in den Himmel Tür sagt: Linux-Systemadministrator-Bundle mit 7-Kursen (96 aus) Ende: 3 Tage CentOS Red Hat Certified System Administrator Kurs (90 aus) Endet in: 4 Tage Download Free Linux eBooks Never Miss Any Linux Tutorials, Guides, Tipps und kostenlose eBooks beitreten Unsere Community von 150.000 Linux - Liebhabern und erhalten Sie einen wöchentlichen Newsletter in Ihrem InboxLinux: grep - Befehl grep, egrep, fgrep, rgrep - Druckzeilen, die zu einem Muster passen BESCHREIBUNG grep sucht die benannte Eingabe FILE s (oder Standard - Eingabe, wenn keine Dateien benannt sind oder wenn Ein einzelner Bindestrich-Minus (-) wird als Dateiname angegeben) für Zeilen, die eine Übereinstimmung mit dem gegebenen MUSTER enthalten. Standardmäßig druckt grep die übereinstimmenden Zeilen. Zusätzlich stehen drei Variantenprogramme egrep, fgrep und rgrep zur Verfügung. Egrep ist das gleiche wie grep - E. Fgrep ist das gleiche wie grep - F. Rgrep ist das gleiche wie grep - r. Der direkte Aufruf als entweder egrep oder fgrep ist veraltet, wird aber dafür bereitgestellt, dass historische Anwendungen, die darauf angewiesen sind, unmodifiziert ausgeführt werden. Generische Programminformationen --help Drucken Sie eine Benutzungsnachricht, die diese Befehlszeilenoptionen und die Fehlerberichtsadresse kurz zusammenfasst, und beenden Sie dann. - V. --version Druckt die Versionsnummer von grep auf den Standardausgabestream. Diese Versionsnummer sollte in alle Fehlerberichte aufgenommen werden (siehe unten). Matcher Auswahl - E. --extended-regexp Interpretieren Sie PATTERN als erweiterten regulären Ausdruck (ERE, siehe unten). (-E wird durch POSIX spezifiziert.) - F. --fixed-strings Interpretieren Sie PATTERN als eine Liste von festen Zeichenketten, die durch Zeilenumbrüche getrennt sind, von denen jede abgestimmt werden soll. (-F wird durch POSIX angegeben.) - G. --basic-regexp Interpretieren Sie PATTERN als einfachen regulären Ausdruck (BRE, siehe unten). Dies ist die Standardeinstellung. - P. --perl-regexp Interpretieren Sie PATTERN als regulären Ausdruck von Perl (PCRE, siehe unten). Dies ist sehr experimentell und grep - P warnt vor nicht implementierten Features. Passende Steuerung - e PATTERN. --regexp PATTERN Verwenden Sie PATTERN als Muster. Dies kann verwendet werden, um mehrere Suchmuster festzulegen, oder um ein Muster zu schützen, das mit einem Bindestrich (-) beginnt. (-e wird von POSIX angegeben.) - f DATEI. --file FILE Erhalten Sie Muster aus FILE. Einer pro Zeile. Die leere Datei enthält Nullmuster und stimmt daher nicht überein. (-f wird durch POSIX angegeben.) - i. --ignore-case Ignoriere Fallunterschiede sowohl im PATTERN als auch in den Eingabedateien. (-i wird durch POSIX angegeben.) - v. --invert-match Invertieren Sie die Übereinstimmung, um nicht passende Zeilen auszuwählen. (-v wird durch POSIX angegeben.) - w. --word-regexp Wählen Sie nur diejenigen Zeilen aus, die Übereinstimmungen enthalten, die ganze Wörter bilden. Der Test ist, dass der übereinstimmende Teilstring entweder am Anfang der Zeile sein muss oder einem Nicht-Wort-Konstituenten-Zeichen vorausgeht. Ebenso muss es entweder am Ende der Zeile oder gefolgt von einem Nicht-Wort-konstituierenden Zeichen sein. Wortbildende Zeichen sind Buchstaben, Ziffern und der Unterstrich. - x. --line-regexp Wählen Sie nur die Übereinstimmungen aus, die genau der gesamten Zeile entsprechen. (-x wird von POSIX angegeben.) - y Obsolete Synonym für - i. Allgemeine Ausgabekontrolle - c. --count Unterdrücken der Normalausgabe stattdessen die Anzahl der passenden Zeilen für jede Eingabedatei. Mit der - v. --Invert-Match-Option (siehe unten), zählen nicht-passende Linien. (-c wird von POSIX angegeben.) --color WHEN, --colour WHEN Umgeben der übereinstimmenden (nicht leeren) Zeichenfolgen, übereinstimmenden Zeilen, Kontextzeilen, Dateinamen, Zeilennummern, Byte-Offsets und Trennzeichen (für Felder und Gruppen) Der Kontextzeilen) mit Escape-Sequenzen, um sie farbig am Terminal anzuzeigen. Die Farben werden durch die Umgebungsvariable GREPCOLORS definiert. Die veraltete Umgebungsvariable GREPCOLOR wird weiterhin unterstützt, aber ihre Einstellung hat keine Priorität. Wann ist nie. Immer. Oder auto. - L. --files-without-match Unterdrücken der Normalausgabe stattdessen den Namen jeder Eingabedatei ausgeben, von der normalerweise keine Ausgabe ausgegeben wurde. Der Scanvorgang wird beim ersten Spiel gestoppt. - l. --files-with-matches Normalausgabe unterdrücken stattdessen den Namen jeder Eingabedatei ausdrucken, von der die Ausgabe normalerweise ausgedruckt worden wäre. Der Scanvorgang wird beim ersten Spiel gestoppt. (-l wird durch POSIX angegeben.) - m NUM. --max-count NUM Stoppen Sie das Lesen einer Datei nach NUM-Übereinstimmungszeilen. Wenn der Eingang eine normale Eingabe von einer regulären Datei ist und NUM-übereinstimmende Zeilen ausgegeben werden, stellt grep sicher, dass die Standard-Eingabe unmittelbar nach der letzten übereinstimmenden Zeile positioniert ist, bevor sie beendet wird, ungeachtet der Anwesenheit von nachlaufenden Kontextzeilen. Dies ermöglicht es einem aufrufenden Prozess, eine Suche fortzusetzen. Wenn grep nach NUM-Übereinstimmungszeilen stoppt, gibt er alle nachfolgenden Kontextzeilen aus. Wenn die Option - c oder --count ebenfalls verwendet wird, gibt grep keine Zahl aus, die größer als NUM ist. Wenn die Option - v oder - invert-match ebenfalls verwendet wird, stoppt grep nach der Ausgabe von NUM-nicht übereinstimmenden Zeilen. - o. --only-matching Nur die übereinstimmenden (nicht leeren) Teile einer passenden Zeile drucken, wobei jedes Teil auf einer separaten Ausgangsleitung steht. - q. - quiet. --silent Ruhig schreiben Sie nichts zur Standardausgabe. Beenden Sie sofort mit Null-Status, wenn eine Übereinstimmung gefunden wird, auch wenn ein Fehler erkannt wurde. Siehe auch die Option - s oder - no-messages. (-q wird von POSIX angegeben.) - s. --no-messages Unterdrücken von Fehlermeldungen über nicht vorhandene oder nicht lesbare Dateien. Portabilitätshinweis: Im Gegensatz zu GNU grep. 7. Ausgabe Unix grep stimmte nicht mit POSIX überein, weil es - q und seine Option - s verhinderte wie die GNU grep 39s - q Option. USG-style grep fehlte auch - q aber seine - s Option verhielt sich wie GNU grep. Portable Shell-Scripts sollten sowohl - q und - s vermeiden und stattdessen die Standard - und Fehlerausgabe auf / dev / null umleiten. (-s wird von POSIX angegeben.) Output Line Prefix Control - b. --byte-offset Druckt den 0-Byte-Offset innerhalb der Eingabedatei vor jeder Ausgabezeile aus. Wenn - o (--only-matching) angegeben ist, drucken Sie den Offset des passenden Teils selbst aus. - H. --with-filename Drucken Sie den Dateinamen für jede Übereinstimmung aus. Dies ist die Voreinstellung, wenn mehr als eine Datei zu suchen ist. - h. --no-filename Unterdrückung der Präfixierung von Dateinamen am Ausgang. Dies ist die Voreinstellung, wenn nur eine Datei (oder nur Standardeingabe) gesucht wird. --label LABEL Display-Eingang, der von der Standard-Eingabe als Eingang kommt, der aus der Datei LABEL kommt. Dies ist besonders nützlich bei der Implementierung von Tools wie zgrep. z. B. Gzip - cd foo. gz grep --labelfoo - H etwas. Siehe auch die Option - H. - n. --line-number Präfix jeder Zeile des Outputs mit der 1-basierten Zeilennummer in der Eingabedatei. (-n wird durch POSIX angegeben.) - T. --initial-tab Stellen Sie sicher, dass das erste Zeichen des aktuellen Zeileninhalts auf einem Tabstopp liegt, so dass die Ausrichtung der Registerkarten normal aussieht. Dies ist nützlich bei Optionen, die ihre Ausgabe dem aktuellen Inhalt voranstellen: - H, - n. und B . Um die Wahrscheinlichkeit zu verbessern, dass Zeilen aus einer einzigen Datei alle an derselben Spalte beginnen, bewirkt dies auch, dass die Zeilennummer und der Byteversatz (falls vorhanden) in einer minimalen Feldbreite gedruckt werden. - u. --unix-byte-offsets Bericht Unix-Stil-Byte-Offsets. Dieser Schalter bewirkt, dass grep Byte-Offsets berichtet, als ob es sich bei der Datei um eine Unix-Textdatei handelte, d. H. Wenn CR-Zeichen abgestreift wurden. Dies führt zu identischen Ergebnissen wie laufendes grep auf einer Unix-Maschine. Diese Option hat keine Auswirkungen, wenn die Option - b nicht verwendet wird, hat sie keine Auswirkung auf andere Plattformen als MS-DOS und MS-Windows. - Z. --null Ausgabe eines Null-Bytes (das ASCII-NUL-Zeichen) anstelle des Zeichens, das normalerweise einem Dateinamen folgt. Beispielsweise gibt grep - lZ ein Null-Byte nach jedem Dateinamen anstelle des üblichen Zeilenumbruchs aus. Diese Option macht die Ausgabe eindeutig, auch wenn Dateinamen ungewöhnliche Zeichen wie Zeilenumbrüche enthalten. Diese Option kann mit Befehlen wie find - print0 verwendet werden. Perl -0. Sort - z. Und xargs -0, um beliebige Dateinamen zu verarbeiten, auch solche, die Zeilenumbruchzeichen enthalten. Kontextliniensteuerung - A NUM. --after-context NUM NUM-Zeilen des nachfolgenden Kontextes nach den entsprechenden Zeilen drucken. Platziert eine Zeile mit einem Gruppen-Trennzeichen (-) zwischen zusammenhängenden Gruppen von Übereinstimmungen. Mit der Option - o oder - only-matching hat dies keine Auswirkung und es wird eine Warnung ausgegeben. - B NUM. --before-context NUM NUM-Zeilen des führenden Kontexts vor dem Anpassen der Zeilen drucken. Platziert eine Zeile mit einem Gruppen-Trennzeichen (-) zwischen zusammenhängenden Gruppen von Übereinstimmungen. Mit der Option - o oder - only-matching hat dies keine Auswirkung und es wird eine Warnung ausgegeben. - C NUM. - NUM. --context NUM NUM-Zeilen des Ausgabekontexts drucken. Platziert eine Zeile mit einem Gruppen-Trennzeichen (-) zwischen zusammenhängenden Gruppen von Übereinstimmungen. Mit der Option - o oder - only-matching hat dies keine Auswirkung und es wird eine Warnung ausgegeben. Datei - und Verzeichnisauswahl - a. --text Verarbeitet eine Binärdatei, als ob es Text wäre, entspricht dies der Option --binary-filestext. --binary-files TYPE Wenn die ersten Bytes einer Datei anzeigen, dass die Datei binäre Daten enthält, gehen Sie davon aus, dass die Datei vom Typ TYPE ist. Standardmäßig ist TYPE binär. Und grep gibt normalerweise entweder eine Einzeilennachricht aus, die besagt, dass eine binäre Datei übereinstimmt, oder keine Nachricht, wenn keine Übereinstimmung vorliegt. Wenn TYPE ohne Übereinstimmung ist. Grep geht davon aus, dass eine Binärdatei nicht mit der Option - I übereinstimmt. Wenn TYPE Text ist. Grep verarbeitet eine Binärdatei, als ob es Text wäre, entspricht dies der Option - a. Warnung: grep --binary-filestext kann binäre Müllsignale ausgeben, die fiese Nebenwirkungen haben können, wenn es sich bei der Ausgabe um ein Terminal handelt und wenn der Terminal-Treiber einen Teil davon als Befehle interpretiert. - D AKTION. --devices ACTION Wenn eine Eingabedatei ein Gerät, FIFO oder Socket ist, verwenden Sie ACTION, um es zu verarbeiten. Standardmäßig wird ACTION gelesen. Was bedeutet, dass Geräte so gelesen werden, als wären sie normale Dateien. Wenn ACTION übersprungen wird. Geräte werden leise übersprungen. - d AKTION. --directories ACTION Wenn eine Eingabedatei ein Verzeichnis ist, verwenden Sie ACTION, um es zu verarbeiten. Standardmäßig wird ACTION gelesen. Was bedeutet, dass Verzeichnisse so gelesen werden, als wären sie normale Dateien. Wenn ACTION übersprungen wird. Verzeichnisse werden leise übersprungen. Wenn ACTION rekursiv ist. Grep liest alle Dateien unter jedem Verzeichnis, rekursiv entspricht dies der Option - r. - exclude GLOB Überspringen von Dateien, deren Basisname mit GLOB übereinstimmt (mit Platzhalteranpassung). Ein Dateiname glob kann verwenden. . und . Als Wildcards, und um eine Wildcard oder Backslash-Zeichen wörtlich zu zitieren. --exclude-from FILE Überspringen von Dateien, deren Basisname mit einem der aus FILE gelesenen Dateinamen-Globs übereinstimmt (mit Wildcard-Matching wie unter --exclude beschrieben). --exclude-dir DIR Ausschließen von Verzeichnissen, die dem Muster DIR entsprechen, aus rekursiven Suchen. - I Verarbeiten einer Binärdatei, als ob sie keine übereinstimmenden Daten enthielt, entspricht dies der Option --binary-fileswithout-match. - enthält nur GLOB-Dateien, deren Basisname mit GLOB übereinstimmt (unter Verwendung von Platzhaltern wie unter --exclude beschrieben). - R. - r. --recursive Lesen Sie alle Dateien unter jedem Verzeichnis, rekursiv entspricht dies der Option - d recurse. Andere Optionen - line-buffered Verwenden Sie die Zeilenpufferung am Ausgang. Dies kann zu einer Leistungseinbuße führen. --mmap Verwenden Sie nach Möglichkeit den mmap (2) Systemaufruf, um die Eingabe zu lesen, anstelle des standardmäßigen (2) Systemaufrufs. In einigen Situationen liefert --mmap eine bessere Leistung. Jedoch kann --mmap undefiniertes Verhalten (einschließlich Core Dumps) verursachen, wenn eine Eingabedatei schrumpft, während grep arbeitet, oder wenn ein E / A-Fehler auftritt. - U. --binary Behandle die Datei (en) als binär. Standardmäßig legt grep unter MS-DOS und MS-Windows den Dateityp fest, indem er den Inhalt der ersten 32 KB aus der Datei ansieht. Wenn grep entscheidet, dass die Datei eine Textdatei ist, löscht sie die CR-Zeichen aus dem ursprünglichen Dateiinhalt (um reguläre Ausdrücke mit ordnungsgemäß auszuführen und korrekt auszuführen). Das Angeben von - U überschreibt diese Schätzung, wobei bewirkt wird, dass alle Dateien gelesen und an den übereinstimmenden Mechanismus verbatim übergeben werden, wenn die Datei eine Textdatei mit CR / LF-Paaren am Ende jeder Zeile ist, wird dies dazu führen, dass einige reguläre Ausdrücke fehlschlagen. Diese Option hat keine Auswirkungen auf andere Plattformen als MS-DOS und MS-Windows. Z --null-data Behandelt die Eingabe als einen Satz von Zeilen, die jeweils durch ein Null-Byte (das ASCII-NUL-Zeichen) anstelle eines Zeilenumbruchs beendet werden. Wie bei der Option - Z oder --null kann diese Option mit Befehlen wie sort - z verwendet werden, um beliebige Dateinamen zu verarbeiten. REGULARE EXPRESSIONEN Ein regulärer Ausdruck ist ein Muster, das einen Satz von Strings beschreibt. Reguläre Ausdrücke werden analog zu arithmetischen Ausdrücken konstruiert, indem verschiedene Operatoren verwendet werden, um kleinere Ausdrücke zu kombinieren. Grep versteht drei verschiedene Versionen der Syntax des regulären Ausdrucks: basic3939 (BRE), extended3939 (ERE) und perl3939 (PRCE). In GNU grep. Gibt es keinen Unterschied in der verfügbaren Funktionalität zwischen grundlegenden und erweiterten Syntaxen. In anderen Implementierungen sind grundlegende reguläre Ausdrücke weniger leistungsfähig. Die folgende Beschreibung gilt für erweiterte reguläre Ausdrücke Unterschiede für grundlegende reguläre Ausdrücke sind nachfolgend zusammengefasst. Perl reguläre Ausdrücke geben zusätzliche Funktionalität, und sind in pcrepattern (3) dokumentiert, aber möglicherweise nicht auf jedem System verfügbar. Die grundlegenden Bausteine ​​sind die regulären Ausdrücke, die einem einzelnen Zeichen entsprechen. Die meisten Zeichen, einschließlich aller Buchstaben und Ziffern, sind reguläre Ausdrücke, die sich selbst entsprechen. Jedes meta-Zeichen mit besonderer Bedeutung kann zitiert werden, indem es mit einem Backslash vorausgeht. Die Periode . Passt zu jedem einzelnen Zeichen. Zeichenklassen und Klammerausdrücke Ein Klammerausdruck ist eine Liste von Zeichen, die von und eingeschlossen werden. Er stimmt mit jedem einzelnen Zeichen in dieser Liste überein, wenn das erste Zeichen der Liste das Caret ist, dann entspricht es jedem Zeichen, das nicht in der Liste ist. Beispielsweise entspricht der reguläre Ausdruck 0123456789 einer beliebigen Ziffer. Innerhalb eines Klammerausdrucks besteht ein Bereichsausdruck aus zwei Zeichen, die durch einen Bindestrich getrennt sind. Es passt zu jedem einzelnen Zeichen, das zwischen den beiden Zeichen einschließlich der locale39s-Sortierfolge und des Zeichensatzes sortiert. Beispielsweise ist in der Standard-C-Sprachumgebung a-d äquivalent zu abcd. Viele Locales sortieren Zeichen in der Wörterbuchreihenfolge, und in diesen Gebietsschemata ist a-d typischerweise nicht äquivalent zu abcd, was äquivalent zu aBbCcDd sein könnte. beispielsweise. Um die traditionelle Interpretation von Klammerausdrücken zu erhalten, können Sie das C-Gebietsschema verwenden, indem Sie die LCALL-Umgebungsvariable auf den Wert C setzen. Schließlich sind bestimmte benannte Klassen von Zeichen in Klammerausdrücken wie folgt vordefiniert. Their names are self explanatory, and they are :alnum: . :alpha: . :cntrl: . :digit: . :graph: . :lower: . :print: . :punct: . :space: . :upper: . and :xdigit:. For example, :alnum: means the character class of numbers and letters in the current locale. In the C locale and ASCII character set encoding, this is the same as 0-9A-Za-z . (Note that the brackets in these class names are part of the symbolic names, and must be included in addition to the brackets delimiting the bracket expression.) Most meta-characters lose their special meaning inside bracket expressions. To include a literal place it first in the list. Similarly, to include a literal place it anywhere but first. Finally, to include a literal - place it last. The caret and the dollar sign are meta-characters that respectively match the empty string at the beginning and end of a line. The Backslash Character and Special Expressions The symbols lt and gt respectively match the empty string at the beginning and end of a word. The symbol b matches the empty string at the edge of a word, and B matches the empty string provided it39s not at the edge of a word. The symbol w is a synonym for :alnum: and W is a synonym for :alnum: . Repetition A regular expression may be followed by one of several repetition operators: The preceding item is optional and matched at most once. The preceding item will be matched zero or more times. The preceding item will be matched one or more times. n The preceding item is matched exactly n times. n , The preceding item is matched n or more times. n , m The preceding item is matched at least n times, but not more than m times. Concatenation Two regular expressions may be concatenated the resulting regular expression matches any string formed by concatenating two substrings that respectively match the concatenated expressions. Alternation Two regular expressions may be joined by the infix operator the resulting regular expression matches any string matching either alternate expression. Precedence Repetition takes precedence over concatenation, which in turn takes precedence over alternation. A whole expression may be enclosed in parentheses to override these precedence rules and form a subexpression. Back References and Subexpressions The back-reference n . where n is a single digit, matches the substring previously matched by the n th parenthesized subexpression of the regular expression. Basic vs Extended Regular Expressions Traditional egrep did not support the meta-character, and some egrep implementations support instead, so portable scripts should avoid in grep - E patterns and should use to match a literal . GNU grep - E attempts to support traditional usage by assuming that is not special if it would be the start of an invalid interval specification. For example, the command grep - E 39 searches for the two-character string instead of reporting a syntax error in the regular expression. POSIX.2 allows this behavior as an extension, but portable scripts should avoid it. ENVIRONMENT VARIABLES The behavior of grep is affected by the following environment variables. The locale for category LC foo is specified by examining the three environment variables LCALL . LC foo . LANG . in that order. The first of these variables that is set specifies the locale. For example, if LCALL is not set, but LCMESSAGES is set to ptBR . then the Brazilian Portuguese locale is used for the LCMESSAGES category. The C locale is used if none of these environment variables are set, if the locale catalog is not installed, or if grep was not compiled with national language support (NLS). GREPOPTIONS This variable specifies default options to be placed in front of any explicit options. For example, if GREPOPTIONS is 39--binary-fileswithout-match --directoriesskip39 . grep behaves as if the two options --binary-fileswithout-match and --directoriesskip had been specified before any explicit options. Option specifications are separated by whitespace. A backslash escapes the next character, so it can be used to specify an option containing whitespace or a backslash. GREPCOLOR This variable specifies the color used to highlight matched (non-empty) text. It is deprecated in favor of GREPCOLORS . but still supported. The mt . ms . and mc capabilities of GREPCOLORS have priority over it. It can only specify the color used to highlight the matching non-empty text in any matching line (a selected line when the - v command-line option is omitted, or a context line when - v is specified). The default is 0131 . which means a bold red foreground text on the terminal39s default background. GREPCOLORS Specifies the colors and other attributes used to highlight various parts of the output. Its value is a colon-separated list of capabilities that defaults to ms0131:mc0131:sl:cx:fn35:ln32:bn32:se36 with the rv and ne boolean capabilities omitted (i. e. false). Supported capabilities are as follows. sl SGR substring for whole selected lines (i. e. matching lines when the - v command-line option is omitted, or non-matching lines when - v is specified). If however the boolean rv capability and the - v command-line option are both specified, it applies to context matching lines instead. The default is empty (i. e. the terminal39s default color pair). cx SGR substring for whole context lines (i. e. non-matching lines when the - v command-line option is omitted, or matching lines when - v is specified). If however the boolean rv capability and the - v command-line option are both specified, it applies to selected non-matching lines instead. The default is empty (i. e. the terminal39s default color pair). rv Boolean value that reverses (swaps) the meanings of the sl and cx capabilities when the - v command-line option is specified. The default is false (i. e. the capability is omitted). mt0131 SGR substring for matching non-empty text in any matching line (i. e. a selected line when the - v command-line option is omitted, or a context line when - v is specified). Setting this is equivalent to setting both ms and mc at once to the same value. The default is a bold red text foreground over the current line background. ms0131 SGR substring for matching non-empty text in a selected line. (This is only used when the - v command-line option is omitted.) The effect of the sl (or cx if rv ) capability remains active when this kicks in. The default is a bold red text foreground over the current line background. mc0131 SGR substring for matching non-empty text in a context line. (This is only used when the - v command-line option is specified.) The effect of the cx (or sl if rv ) capability remains active when this kicks in. The default is a bold red text foreground over the current line background. fn35 SGR substring for file names prefixing any content line. The default is a magenta text foreground over the terminal39s default background. ln32 SGR substring for line numbers prefixing any content line. The default is a green text foreground over the terminal39s default background. bn32 SGR substring for byte offsets prefixing any content line. The default is a green text foreground over the terminal39s default background. se36 SGR substring for separators that are inserted between selected line fields ( : ), between context line fields, ( - ), and between groups of adjacent lines when nonzero context is specified ( -- ). The default is a cyan text foreground over the terminal39s default background. ne Boolean value that prevents clearing to the end of line using Erase in Line (EL) to Right ( 33K ) each time a colorized item ends. This is needed on terminals on which EL is not supported. It is otherwise useful on terminals for which the backcolorerase ( bce ) boolean terminfo capability does not apply, when the chosen highlight colors do not affect the background, or when EL is too slow or causes too much flicker. The default is false (i. e. the capability is omitted). Note that boolean capabilities have no . Teil. They are omitted (i. e. false) by default and become true when specified. See the Select Graphic Rendition (SGR) section in the documentation of the text terminal that is used for permitted values and their meaning as character attributes. These substring values are integers in decimal representation and can be concatenated with semicolons. grep takes care of assembling the result into a complete SGR sequence ( 33 . m ). Common values to concatenate include 1 for bold, 4 for underline, 5 for blink, 7 for inverse, 39 for default foreground color, 30 to 37 for foreground colors, 90 to 97 for 16-color mode foreground colors, 3850 to 385255 for 88-color and 256-color modes foreground colors, 49 for default background color, 40 to 47 for background colors, 100 to 107 for 16-color mode background colors, and 4850 to 485255 for 88-color and 256-color modes background colors. LCALL . LCCOLLATE . LANG These variables specify the locale for the LCCOLLATE category, which determines the collating sequence used to interpret range expressions like a-z . LCALL . LCCTYPE . LANG These variables specify the locale for the LCCTYPE category, which determines the type of characters, e. g. which characters are whitespace. LCALL . LCMESSAGES . LANG These variables specify the locale for the LCMESSAGES category, which determines the language that grep uses for messages. The default C locale uses American English messages. POSIXLYCORRECT If set, grep behaves as POSIX.2 requires otherwise, grep behaves more like other GNU programs. POSIX.2 requires that options that follow file names must be treated as file names by default, such options are permuted to the front of the operand list and are treated as options. Also, POSIX.2 requires that unrecognized options be diagnosed as illegal3939, but since they are not really against the law the default is to diagnose them as invalid3939. POSIXLYCORRECT also disables N GNUnonoptionargvflags . described below. N GNUnonoptionargvflags (Here N is grep 39s numeric process ID.) If the i th character of this environment variable39s value is 1 . do not consider the i th operand of grep to be an option, even if it appears to be one. A shell can put this variable in the environment for each command it runs, specifying which operands are the results of file name wildcard expansion and therefore should not be treated as options. This behavior is available only with the GNU C library, and only when POSIXLYCORRECT is not set. EXIT STATUS The exit status is 0 if selected lines are found, and 1 if not found. If an error occurred the exit status is 2. (Note: POSIX error handling code should check for 39239 or greater.) Share this page :

No comments:

Post a Comment