Donnerstag, 21.11.2024 (CET) um 13:57 Uhr
www.windowspage.de 20 Jahre Windowspage
News:
Herzlich Willkommen bei Windowspage. Alles rund um Windows.

Tipps - WSL - Inhalt von (Text-) Dateien nach bestimmten Zeichenketten durchsuchen (ab 1703)
Detailbeschreibung
Betriebssystem: Windows 10, Windows 11

Sowohl unter Windows als auch unter den WSL-Distributionen (Z. B. "Ubuntu") steht ein Programm / Tool für die Suche nach einer Zeichenfolge in (Text-) Dateien bereit (Windows: "findstr"; Linux: "grep"). Im Gegensatz zu Windows unterstützt das Linux-Tool weitere Optionen und Möglichkeiten der Ausgabesteuerung. Beide (Windows und Linux) erlauben neben festen Suchbegriffen bzw. Wörtern auch sogenannte reguläre Ausdrücke (festlegen eines bestimmten Suchmusters). Die Suche innerhalb von Dateien auf Terminalebene / Kommandozeilenebene erlaubt einem Benutzer gezielte / bestimmte Informationen oder Inhalte von z. B. Log-Dateien auszugeben.

So geht's:

  • Starten Sie die entsprechende WSL-Distribution (z. B. "Ubuntu").
  • Geben Sie als Befehl folgenden Syntax ein: "grep [Optionen] [Suchmuster] [Datei]". Z. B. : "grep -ni windows windowspage.txt"
  • Drücken Sie die Eingabetaste.
  • Die Suche innerhalb der Datei(en) wird gestartet und je nach Optionen das entsprechende Ergebnis ausgegeben.

grep -ni windows windowspage.txt

GREP-Parameter (Auszug):

Parameter Kurzbeschreibung Windows-Befehl
-A NUM Es werden zusätzlich die Anzahl "NUM" Zeilen nach der passenden Zeile ausgegeben. Z. B.: "-A 1"
-a Binärdateien wie Textdateien verarbeiten.
-B NUM Es werden zusätzlich die Anzahl "NUM" Zeilen vor der passenden Zeile ausgegeben. Z. B.: "-B 1"
-b Gibt die Byte-Position innerhalb der Datei vor jeder gefundenen Zeile an. findstr /o
-c Es wird nur die Anzahl der Zeilen mit dem gefundenen Suchmuster ausgegeben.
-E Behandelt das angegebene Suchmuster als erweiterten regulären Ausdruck [+, ?, | und ()]. Z. B.: "abc|xyz" findstr /r
-e Muster Gibt ein oder mehrere Suchmuster an. Die Suchmuster müssen durch Zeilenvorschubzeichen ("\n") voneinander getrennt werden.
-F Behandelt jedes angegebene Muster als Zeichenfolge und nicht als regulären Ausdruck.
-f Gibt eine Datei an, die das Suchmuster enthält. Die einzelnen Suchmuster müssen durch Zeilenvorschubzeichen (\"n") voneinander getrennt werden. findstr /g
-H Gibt den Dateinamen vor jedem Treffer aus.
-h Keine Ausgabe des Dateinamens (wenn mehrere Dateiendurchsucht werden).
-I Binärdateien werden nicht berücksichtigt (ausgeschlossen).
-i Die Groß- und Kleinschreibung wird ignoriert. findstr /i
-L Gibt nur die Dateinamen von allen Dateien, die keine Treffer enthalten, aus.
-l Gibt nur die Dateinamen von allen Dateien, die einen Treffer enthalten, aus. findstr /m
-n Gibt die Zeilennummer vor jedem Treffer aus. findstr /n
-o Gibt nur die gefundene Zeichenkette aus (anstatt der ganzen Zeile).
-r Die Verzeichnisse und Unterverzeichniss werden durchsucht (Symbolischen Links werden nicht verfolgt). findstr /s
-R Die Verzeichnisse und Unterverzeichniss werden durchsucht (Symbolischen Links werden verfolgt). findstr /s
-v Die Suche und liefert alle Zeilen die nicht auf das gesuchte Muster passen. findstr /v
-w Führt eine Wortsuche durch. Suchmuster muss einem Wort entsprechen und nicht einem Teil eines Wortes.
-x Zeigt Zeilen an, die dem angegebenen Suchmuster exakt entsprechen (d. h. keine weiteren Zeichen enthalten). findstr /x

Suchmuster (Auszug):

Suchmuster Kurzbeschreibung
[:digit:] alle Ziffern; entspricht "[0-9]"
[:upper:] alle Großbuchstaben
[:lower:] alle Kleinbuchstaben
[:alpha:] alle Buchstaben; entspricht "[a-zA-Z]"
[:alnum:] alle Buchstaben und Ziffern; entspricht "[0-9a-zA-Z]"
[:punct:] alle Satzzeichen bzw. Sonderzeichen
[:graph:] alle grafischen Zeichen
[:print:] alle druckbaren Zeichen
[:blank:] Leerzeichen bzw. Tabulator
[:space:] Leerzeichen, Tabulator, Zeilenvorschub, usw.
[:cntrl:] alle Steuerzeichen
. beliebiges Zeichen
^ Anfang der Zeile
$ Ende der Zeile
\< Beginn eines Wortes
\> Ende eines Wortes
? Ausdruck ist optional
* Ausdruck wird beliebig oft vorgefunden
+ Ausdruck wird mindestens einmal gefunden
{n} Ausdruck wird genau n-mal gefunden
{n,} Ausdruck wird mindestens n-mal oder öfter angetroffen
{,m} Ausdruck ist optional und wird maximal m-mal angetroffen
{n,m} Ausdruck wird mindestens n-mal und maximal m-mal angetroffen
| Oder-Verknüpfung

Weitere Beispiele:

  • Durchsucht die Datei "windowspage.txt" nach allen Zeilen die mit "http" beginnen oder das Wort "Windows" enthalten. Die Groß- und Kleinschreibung wird ignoriert. Zusätzlich wird die Zeilenummer der Treffer ausgegeben:
    "grep -niE ''^http|windows' windowspage.txt"
  • Durchsucht die Datei "windowspage.txt nach Zahlen und gibt die Zeile mit der Zeilennummer aus:
    "grep -n [[:digit:]] windowspage.txt"
  • Alle Links (Url, E-Mail) in der Datei "windowspage.txt" suchen und mit Zeilennummer und Byte-Position der Zeile ausgeben:
    "grep -nbE '(https?:\/\/)?([\da-z\.-]+)\.([a-z\.]{2,6})([\/\w \.-]*)*\/?' windowspage.txt"
  • Alle Dateien des Verzeichnis "/home/windowspage" nach dem Wort "windows" (ohne Berücksichtigung der Groß- und Kleinschreibung) durchsuchen:
    "grep -w windows /home/windowspage"

Hinweise:

  • Weitere Optionen zur Steuerung der Ausgabe können mit dem Befehl "grep --help" ausgegeben werden.
  • Für komprimierte Dateien / Archive stehen noch folgende Tools bereit (ohne die Datei zuvor auspacken zu müssen):
    "bz": "bzgrep"
    "lz": "lzgrep"
    "xy": "xzgrep"
    "z": "zgrep"

Versionshinweis:

  • Die Linux-Distributionen benötigen mindestens Windows 10 Version 1703.

Windowspage - Weitere interessante Tipps und Einstellungen
Tipps für Windows 10, Windows 11
Statistik

Unsere Webseite verwendet technisch notwendige Cookies ("berechtigtes Interesse"). Darüberhinausgehend (z. B. für Statistiken oder Marketing) erfolgt keine Speicherung von Cookies. Klicken Sie auf "Ich stimme zu", um Cookies zu akzeptieren und direkt unsere Webseite besuchen zu können. Weitere Informationen...

Valid HTML 4.01 Transitional  CSS ist valide!