Grep findstr find Text ausgegeben

()

Mit find, grep und findstr Text suchen und ausgeben in Dateien und Unterverzeichnissen.

Grep findstr find Text ausgegeben

Bei der Suche nach Zeichenfolgen in Dateien bedient man sich gebräuchlich des Windows Explorer oder Windows-Search, bei Linux mit Gnome Desktop ist es Nautilus oder Nemo, und unter macOS geht man zum Finder.

Bei der automatisierten Verarbeitung durch Scripts und Batch-Prozesse helfen Command-Line Befehle. In diesem Post wird gezeigt, wie man bei der Suche von Zeichenfolge vorgehen kann, in Windows Command Prompt und in der Linux Shell.

Suchen mit findstr in der Eingabeaufforderung

Bei der Windows Eingabeaufforderung (cmd) bietet sich der Befehl „findstr“ (find string) an, wie folgendes Beispiel zeigt.

findstr /s /i "dolor" *.*
doc.txt:Lorem ipsum dolor sit amet

Soll nun das Resultat einer Variable zugewiesen werden, für die weiterverarbeitung in Scripts, kann dies in einer FOR-Schleife ermöglicht werden.

findstr in FOR-Schleife anwenden

Folgende Zeilen werden in einer Batch Datei gespeichert und ausgeführt.

@echo off
for /f "delims=" %%A in ('dir ^| findstr /s /i "dolor" *.*') do set "var=%%A"
echo %var%

Es wird mit echo die gesamte Zeile mit dem gesuchten Wort dolor ausgegeben.

findstr Zeichen Ausgabe eingrenzen

Möchte man die Ausgabe nur auf die Zeichen eines Wortes eingrenzen, ist dies mit Variablen Parameter zu erreichen.

doc.txt:Lorem ipsum dolor sit amet 
1234567890123456789012345678901234

Ab dem Zeichen 20 ist unser Wort dolor, es ist 5 Zeichen lang.
Die CLI Eingabe findstr dolor bringt nun dolor zur Ausgabe die in der Datei doc.txt gefunden wurde.

@echo off 
for /f "delims=" %%A in ('dir ^| findstr /s /i %1 *.*') do set "var=%%A" 
echo %var:~20,5%

Der Variable var wird die Ausgabe von findstr zugewiesen.

Suchen mit grep und find in der Linux Shell

$ grep -r "dolor" *
Dokumente/doc.txt:Lorem ipsum dolor sit amet

In der Linux Shell Konsole kommt grep und find zur Anwendung.

$ find . -type f -print0 | xargs -0 grep "dolor"
./Dokumente/doc.txt:Lorem ipsum dolor sit amet

Die Textsuche mit grep gestaltet sich wie folgt, das Resultat wird der Variable var zugewiesen, und mit echo ausgegeben.

$ var=`grep -r "dolor" *`
$ echo $var
Dokumente/doc.txt:Lorem ipsum dolor sit amet

Es soll bei der Suche mit grep nicht die gesamte Zeile ausgegeben werden, sondern nur das dritte Wort.

$ var=`grep -r "dolor" * | awk '{ print $3 }'`
$ echo $var
dolor

Fazit

Es gibt viele weitere Möglichkeiten mit grep und find in Linux, und findstr bei Windows ein Text ausgeben. Die mächtigen Befehle grep und find in der Linux Shell bieten zahlreiche Möglichkeiten. Der Befehl find ist sehr umfangreich und ermöglicht mit xargs auch reguläre Ausdrücke und weitere Befehle zur Übergabe. Mit find --help erhält man sämtliche Anwendungsmöglichkeiten. Hier soll lediglich ein Einstieg zur Anwendung und die Vorgehensweise aufgezeigt werden.

Wie hilfreich war dieser Beitrag?

Klicke auf die Sterne um zu bewerten!

Durchschnittliche Bewertung / 5. Anzahl Bewertungen:

Bisher keine Bewertungen! Sei der Erste, der diesen Beitrag bewertet.

Es tut uns leid, dass der Beitrag für dich nicht hilfreich war!

Lasse uns diesen Beitrag verbessern!

Wie können wir diesen Beitrag verbessern?

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert