iPhone

Wie man Wörter mit grep ausschließt

Das Befehlszeilenwerkzeug grep ist sehr nützlich, um Textdaten nach Zeilen oder Ausschnitten zu durchsuchen, die mit einer bestimmten Zeichenfolge, einem Zeichen, einem Wort oder einem regulären Ausdruck übereinstimmen. Die meisten Anwendungen von grep dienen dazu, Daten nach Syntaxübereinstimmungen zu sortieren, aber was ist, wenn Sie stattdessen Wörter oder Zeichenketten mit grep ausschließen wollen? Da der Ausschluss von übereinstimmenden Zeilen mit grep genauso nützlich ist wie das Finden und Ausgeben von Übereinstimmungen mit grep, wollen wir im Folgenden erörtern, wie man Übereinstimmungen mit Zeichenketten und Wörtern mit grep ausschließt.

Wenn Sie bereits Erfahrung mit der Kommandozeile haben und mit grep vertraut sind, werden Sie dies natürlich hilfreich finden. Wenn Sie noch weiter gehen wollen, können Sie ein Terminalprogramm öffnen und es selbst ausprobieren. Da grep ein betriebssystemunabhängiges Dienstprogramm ist, können Sie den Ausschlusstrick unter Mac OS, Linux, UNIX oder jeder anderen Umgebung anwenden, die grep verwendet.

Wie man grep zum Ausschluss einzelner Wörter verwendet

Der einfachste Weg, Zeilen auszuschließen, die mit einer Zeichenfolge oder Syntax übereinstimmen, ist die Verwendung von grep und dem Flag e-v.

Wenn Sie zum Beispiel cat verwenden, um eine Datei auf der Befehlszeile auszugeben, aber alle Zeilen ausschließen möchten, die den Begriff “DiesesWort” enthalten, lautet die Syntax

cat beispiel.txt | gre p-v “DiesesWort”

Die Ausgabe wäre die Textdatei example.txt, aber Zeilen, die den Begriff “ThisWord” enthalten, würden ausgeschlossen werden.

Sie können grep auch direkt auf die Datei anwenden, um Zeilen auszuschließen, die auf einem Wort oder einer Syntax basieren, wie folgt

gre p-v “DiesesWort” Beispiel.txt

Verwenden Sie die Methode, die für Ihren Arbeitsablauf am besten geeignet ist.

So schließen Sie mit grep mehrere Zeichenfolgen oder Wörter aus

Da wir nun wissen, wie man eine einzelne Wortübereinstimmung ausschließt, ist das nächste offensichtliche Problem, mehrere Wörter mit grep auszuschließen. Dies ist ebenso einfach, und es gibt mehrere Möglichkeiten, dies mit den Flags e-v und d-e zu erreichen.

Nehmen wir zunächst das obige Beispiel der Verwendung von cat mit einer an grep übergebenen Datei, um Zeilen auszuschließen, die zwei Wörtern entsprechen. Wort1″ und “Wort2”, was in etwa wie folgt aussehen würde

cat beispiel.txt | gre p- v-e “Wort1” -e “Wort2”

Zeilen, die “Wort1” oder “Wort2” enthalten, werden aus dem Druckergebnis ausgeschlossen.

Wie zuvor können Sie grep auch direkt gegen die Datei verwenden

gre p- v-e “Wort1” -e “Wort2” beispiel.txt

Eine andere Möglichkeit besteht darin, die Treffer, die grep ausschließt, mit einer Pipe zu isolieren, und zwar wie folgt

gre p-Ev “wort1|wort2” beispiel.txt

Wenn Sie eine dieser Optionen an der Beispieldatei testen, werden Sie feststellen, dass die Ausgabe unabhängig von der gewählten Methode dieselbe ist, mit Ausnahme der Zeilen, die die Zielphrase, die Syntax, das Wort oder die Textübereinstimmung enthalten.

Was sind einige nützliche Beispiele für den Ausschluss von Daten mit grep?

Ein praktisches Beispiel, das fortgeschrittene Mac-Benutzer nützlich finden könnten, ist die Verwendung von grep exclude bei der Ausführung einer Abfrage mit Befehlszeilenverlaufsausgabe, um nach zuvor ausgeführten Befehlen zu suchen und Standardübereinstimmungen zu finden, aber ausgewählte Standardzeichenfolgen von der Ausgabe auszuschließen.

Dieses Beispiel gibt den Befehlsverlauf der Standardzeichenkettenübereinstimmungen aus, schließt aber alle Übereinstimmungen aus, die sich auf iTunes beziehen, wie in “com.apple.itunes” definiert.

history |grep “defaults write” |gre p- v-e “com.apple.itunes”

Wenn Sie das befolgen, werden alle Verlaufsläufe des Befehls “defaults write” angezeigt, aber alles, was mit dem Programm iTunes zu tun hat, wird ausgeschlossen. Nett, nicht wahr?

Wenn Sie eine besonders nützliche Anwendung für grep zum Ausschluss von Übereinstimmungen kennen, teilen Sie sie bitte im Kommentarbereich unten mit! Und wenn Ihnen dieser Artikel gefallen hat, sollten Sie hier nach weiteren Artikeln über die Kommandozeile stöbern, wo es viel zu lernen gibt.

LESEN SIE MEHR:

Verwandte Artikel

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button