Linux Befehle und Programme


Stand: 2006-11

Thomas Mertin
Netzwerk- und Elektrotechnik

D-41334 Nettetal

grep (grep 2.5.1)

durchsucht Dateien nach einen Suchausdruck.

Befehlssyntax

grep [-Optionen] Suchausdruck [Datei]

Eine Basiseinstellung ist mit Umgebungsvariablen möglich.

Optionen

-a bzw. --text
durchsucht eine binäre Datei als wäre sie eine Text-Datei (entspricht --binary-files=text).

-A bzw. --after-context=XXX
zeigt auch die nachfolgenden XXX Zeilen nach dem gefundenen Begriff.

-b bzw. --byte-offset
gibt die Position in Byte vor der Zeile des Ergebnis an.

-B bzw. --before-context=XXX
zeigt auch die vorherigen XXX Zeilen nach dem gefundenen Begriff.

--binary-files=binary | without-match | text
behandle die Datei als XXX, wenn sie als binäre Datei erkannt wurde.
binary = gibt eine Meldezeile aus, wenn eine Übereinstimmung vorhanden ist
without-match = behandle Datei als wäre keine Übereinstimmung vorhanden (entspricht -I)
text = behandle Datei als Text-Datei (entspricht -a)

-c bzw. --count
zeigt nur die Zeilennummer des Ergebnis an.

-C bzw. --context=XXX
zeigt auch die vorherigen und nachfolgenden XXX Zeilen nach dem gefundenen Begriff.

--colour bzw. --color=never | always | auto
zeige Ergebnisse farbig GREP_COLOR an.
never = nie
always = immer
auto = automatisch

-d bzw. --directories=read | skip | recurse
wenn die Datei ein Verzeichnis ist,
read = behandle Verzeichnis als Text-Datei
skip = überspringe diese
recurse = überprüfe die Dateien in diesem Verzeichnis sind (entspricht -r)

-D bzw. --devices=read | skip
wenn die Datei ein Gerät, FIFO oder Socket ist,
read = behandle Datei als Text-Datei
skip = überspringe diese

-e bzw. --regexp=XXX
benutze XXX als Suchausdruck.

-E bzw. --extended-regexp
interpretiere den Suchausdruck als erweiterten, regulären Ausdruck (entspricht egrep).

--exclude=XXX
durchsucht nicht die Dateien XXX rekursiv in den Verzeichnissen.

-f bzw. --file=XXX
benutze den Dateiinhalt XXX als Suchausdruck.

-F bzw. --fixed-strings
interpretiere die Suchausdrücke als Liste, die mit Oder verknüpft ist (entspricht (entspricht fgrep).

-G bzw. --basic-regexp
interpretiere den Suchausdruck als regulären Ausdruck (Standard).

-h bzw. --no-filename
zeigt keine Dateinamen an bei der Durchsuchung mehrere Dateien.

-H bzw. --with-filename
zeigt auch den Dateinamen an für jedes Ergebnis.

--help
Hilfe anzeigen.

-i bzw. --ignore-case
ignoriere die Schreibweise.

-I
behandle Datei als wäre keine Übereinstimmung vorhanden (entspricht --binary-files=without-match).

--include=XXX
durchsucht Dateien XXX rekursiv in den Verzeichnissen.

-l bzw. --files-with-matches
anstatt der Standardausgabe werden alle Dateien angezeigt, die den Suchausdruck enthalten.

-L bzw. --files-without-match
anstatt der Standardausgabe werden alle Dateien angezeigt, die den Suchausdruck nicht enthalten.

--label=XXX
zeigt als Namen XXX beim Lesen von stdin.

--line-buffering
benutze Zeilen-Pufferung.

-m bzw. --max-count=XXX
durchsucht die Datei nicht weiter wenn Suchausdruck mehr als XXX enthalten ist.

--mmap
benutzt den Systemaufruf mmap anstatt read.

-n bzw. --line-number=XXX
zeigt vor jeder Zeile die Zeilennummer.

-o bzw. --only-matching=XXX
zeigt nur den gefundenen Suchausdruck.

-q bzw. --quiet bzw. --silent
keine Ausgabe auf stdout.

-r bzw. -R bzw. --recursive
durchsucht Dateien rekursiv in den Verzeichnissen (entspricht -d recurse).

-s bzw. --no-messages
keine Fehlermeldung ausgeben bei nicht lesbaren oder nicht existierende Dateien.

-U bzw. --binary
behandle Dateien als Binär-Dateien.

-u bzw. --unix-byte-offset
zählt die Position in Byte auf Unix-Weise.

-v bzw. --invert-match
invertiert das Ergbnis.

-V bzw. --version
Version anzeigen.

-w bzw. --word-regexp
nur Wortgenaue Ergbnisse anzeigen.

-x bzw. --line-regexp
nur Zeilengenaue Ergbnisse anzeigen.

-y
entspricht -i).

-Z bzw. --null
hinter dem Dateiname wird ein NUL-Zeichen gesetzt.

Datei

Es können ein oder mehrere Dateien eingesetzt werden. Wenn keine Angabe erfolgt oder -, wird stdin verwendet.

Suchausdruck

Der Suchausdruck wird mit Hilfe von reguläre Ausdrücke (POSIX-Standard) angegeben.

Ausdruck ergibt
abc sucht abc
[abc] sucht a, b oder c
[^abc] sucht nicht a, b oder c
[a-z] sucht alle Zeichen von a bis z (Die Reihenfolge der Zeichen wird durch LC_COLLATE bestimmt)
[:alnum:] druckbare Zeichen und Leerzeichen
[:alpha:] ein Buchstabe
[:cntrl:] Steuerzeichen
[:digit:] eine Zahl
[:graph:] druckbare und sichtbare Zeichen
[:lower:] Kleinbuchstabe
[:upper:] Grossbuchstabe
[:print:] alphanumerische Zeichen
[:punct:] Satzzeichen
[:space:] Leerzeichen
[:xdigit:] hexadezimale Zahlen
. ein beliebiges Zeichen
| Oder Verknüpfung

Position nach einem Zeichen

\< am Anfang eines Wortes
\> am Ende eines Wortes
^ am Anfang einer Zeile
$ am Ende einer Zeile

Wiederholungszeichen nach einem Zeichen

? ein Zeichen
* ein, mehrere oder kein Zeichen
+ muss einmal oder mehr vorkommen
{n} muss n-mal vorkommen
{n,} muss n-mal oder mehr vorkommen
{n,m} muss n-mal bis m-mal vorkommen

Um auch nach Sonder- (Meta-) Zeichen zu suchen, müssen diese mit einen vorangestellten \ masskiert werden

Rückgabewerte

0 Suche war erfolgreich
1 Suche war nicht erfolgreich
2 Fehler

Umgebungsvariablen

Es werden folgende Variablen unterstützt

GREP_OPTIONS Optionen zum Start des Programms
GREPCOLOR spezifiziert die Markierung
LC-COLLATE spezifiziert die Sortier-Reihenfolge von Zeichen


  nach oben  
Inhalt
  Startseite  


Nachricht an: webmaster@mertech.de