Website-Suche

So zählen Sie Wortvorkommen in einer Textdatei


Grafische Benutzeroberfläche Textverarbeitungs- und Notizanwendungen verfügen über Informations- oder Detailindikatoren für Dokumentdetails wie die Anzahl der Seiten, Wörter und < starke>Zeichen, eine Überschriftenliste in Textverarbeitungsprogrammen, ein Inhaltsverzeichnis in einigen Markdown-Editoren usw. und das Finden des Vorkommens von Wörtern oder Phrasen ist so einfach wie das Drücken von Strg + F und Geben Sie die Zeichen ein, nach denen Sie suchen möchten.

Eine GUI macht zwar alles einfacher, aber was passiert, wenn Sie nur über die Befehlszeile arbeiten können und überprüfen möchten, wie oft ein Wort, eine Phrase oder ein Zeichen in einer Textdatei vorkommt? Es ist fast so einfach wie bei der Verwendung einer GUI, solange Sie den richtigen Befehl haben und ich Ihnen gleich erkläre, wie es geht.

Angenommen, Sie haben eine example.txt-Datei mit den folgenden Sätzen:

Praesent in mauris eu tortor porttitor accumsan. Mauris suscipit, ligula sit amet pharetra semper, 
nibh ante cursus purus, vel sagittis velit mauris vel metus enean fermentum risus.

Sie können den Befehl grep verwenden, um zu zählen, wie oft "mauris" in der Datei vorkommt, wie gezeigt.

grep -o -i mauris example.txt | wc -l

Wenn Sie grep -c allein verwenden, wird die Anzahl der Zeilen gezählt, die das übereinstimmende Wort enthalten, und nicht die Anzahl der Gesamtübereinstimmungen. Die Option -o weist grep an, jede Übereinstimmung in einer eindeutigen Zeile auszugeben, und wc -l weist dann wc an, die Anzahl der Zeilen zu zählen. Daraus ergibt sich die Gesamtzahl der passenden Wörter.

Ein anderer Ansatz besteht darin, den Inhalt der Eingabedatei mit dem Befehl tr so umzuwandeln, dass alle Wörter in einer einzigen Zeile stehen, und dann grep -c zu verwenden, um diese Übereinstimmungsanzahl zu zählen.

tr '[:space:]' '[\n*]' < example.txt | grep -i -c mauris

Würden Sie auf diese Weise das Vorkommen von Wörtern von Ihrem Terminal aus überprüfen? Teilen Sie Ihre Erfahrungen mit uns und lassen Sie uns wissen, ob Sie eine andere Möglichkeit haben, die Aufgabe zu lösen.