Befehl: xgrep
XGREP ist ein Programm für die Textsuche in Dateien ähnlich wie das
UNIX-Dienstprogramm GREP. Sie können mit XGREP folgendes tun:
- Anzeige der Zeilen in einer Datei, die eine bestimmtes Wort, Satz
oder Muster enthalten;
- zählen der Zeilen, in denen ein bestimmtes Muster auftritt, oder
erzeugen einer Liste der Dateien zu einem bestimmten Thema.
Syntax:
xgrep [-chlnsvyorx] Ausdruck [Dateien]
xgrep [/chlnsvyorx] Ausdruck [Dateien]
Ausdruck ist das zu suchende Muster, das auch Klassen
enthalten kann.
Optionen:
-c Nur Zahl der gefunden Zeilen ausgeben.
-h Keine Dateinamen.
-l Nur Dateinamen .
-n Zeilenzahl mit ausgeben.
-o Fehler auf Standardausgabe; Fehlermeldungen werden auf der
Standardausgabe angezeigt.
-r Rekursive Suche in Unterverzeichnisse - sucht nach Dateien, nicht
nur im angegebenen Verzeichnis, sondern auch in allen
Unterverzeichnissen.
-s Keine Fehlermeldung über unzugänglichen Dateien.
-v Nicht übereinstimmenden Zeilen anzeigen - "invertiert" das Ergebnis
der Suche.
-x Keine Magie: alle Operatoren benötigen die Maskierung mit '\'. Die
Option -x bewirkt, daß die gewöhnlichen Sonderzeichen:
. [ * + ? ^ $
buchstabengetreu analysiert werden. Zum Beispiel sind die folgenden
Befehle äquivalent:
xgrep "p\[0] \* 3" test.c
xgrep -x "p[0] * 3" test.c
Alle regulären Ausdruck sind noch zugänglich, aber davor muß ein
' \' (zurückgelehnter Schrägstrich) stehen.
-y Suche ist nicht von Groß- / Kleinschreibung abhängig.
Zwei weitere Optionen stehen als Alternative für Aliasse zur
Verfügung:
-d Ist ein Alias für -r.
-i Ist ein Alias für -y.
Kommentar:
Wie GREP funktioniert XGREP am besten bei reinen Textdateien: die Art
von Dateien, die keine Binärdaten oder ASCII-Steuerzeichen enthalten
und die sich in Zeilen oder Abschnitte teilen lassen mit einem '\n'
(newline).
XGREP unterstützt Textdateien im UNIX (LF) und DOS (CR, LF) Format.
In XGREP kann : (Doppelpunkt) für vordefinierte Klassen verwendet
werden. Dies sind die folgenden zwölf vordefinierte Klassen zusammen
mit ihren Definitionen:
:a Alpha alphabetisch [A-Za-z] =Bereich: 65-90,97-122
:c Cntrl Steuerungs-Zeichen =Bereich: 0-31127
:a Alpha Alphabetisch [A-Za-z] =Bereich: 65-90,97-122
:d Digit Ziffern [0-9] =Bereich: 48-57
:g Graph Grafikzeichen [!-~] =Bereich: 33-126
:l Lower Kleinbuchstaben [a-z] =Bereich: 97-122
:n Alnum Alphanumerisch [0-9A-Za-z] =Bereich: 48-57,65-90,
97-122
:p Punct Satzzeichen [!-/:-@[-`{-~] =Bereich: 33-47,58-64,
91-96,123-126
:s Space Leerzeichen =Bereich: 9-13,32
:t Print Druckbare Zeichen [ -~] =Bereich: 32-126
:u Upper Großbuchstaben [A-Z] =Bereich: 65-90
:x Xdigit Hexadezimalziffern [0-9A-Fa-f] =Bereich: 48-57,65-70,
:x Xdigit Hexziffern [0-9A-Fa-f] =Bereich: 48-57,65-70,
97-102
:z ASCII =Bereich: 0-127
Zeichen um den Kontext anzugeben:
^ Zeilenanfang
$ Zeilenende
. Ein Zeichen
[] Zeichenklasse
[^] umgekehrte Zeichenklasse
\ Maskieren des nächsten Zeichens
Wiederholungen:
* 0 oder mehrmals
+ 1 oder mehrmals
? 0 oder einmal
\{m\} m-mal
\{m,\} m-mal oder mehr
\{m,u\} m bis u-mal
Für weitere Informationen über ":" und "Zeichen zur Angabe des
Kontextes" lesen Sie sich bitte XGREP.DOC.
XGREP hat folgende Beendigungswerte (EXITCODES/ERRORLEVEL):
0 Mindestens einen Treffer gefunden.
1 Keine Einträge gefunden.
2 Fehler aufgetreten.
Beispiel:
xgrep "Hallo Welt" *.c
xgrep -c jill group
xgrep -l SCSI *.doc
xgrep widgets
xgrep -n widgets notes.txt
xgrep -n -rs widgets \*.txt \*.doc
Siehe auch:
find
Copyright © 2008 W. Spiegl, übersetzt von J.Jenderek.
Diese Datei ist abgeleitet vom FreeDOS Spezifikationen-HOWTO.
Vgl. auch die Datei H2Cpying bezüglich der Kopierbedingungen.