Linux-Textzählung

LinuxLinuxBeginner
Jetzt üben

💡 Dieser Artikel wurde von AI-Assistenten übersetzt. Um die englische Version anzuzeigen, können Sie hier klicken

Einführung

Linux bietet leistungsstarke Befehlszeilentools für die Textverarbeitung und -analyse. Unter diesen Tools ist der Befehl wc (word count, Wortzählung) besonders nützlich, um Zeilen, Wörter und Zeichen in Textdateien zu zählen. Diese Fähigkeit ist für verschiedene Aufgaben wie Datenanalyse, Dateiverwaltung und Skriptentwicklung unerlässlich.

In diesem Lab (Praktikum) lernen Sie, wie Sie den wc-Befehl verwenden, um verschiedene Arten von Textzählvorgängen in Linux durchzuführen. Am Ende dieses Labs haben Sie praktische Erfahrung mit diesem grundlegenden Textverarbeitungstool gesammelt.

Dies ist ein Guided Lab, das schrittweise Anweisungen bietet, um Ihnen beim Lernen und Üben zu helfen. Befolgen Sie die Anweisungen sorgfältig, um jeden Schritt abzuschließen und praktische Erfahrungen zu sammeln. Historische Daten zeigen, dass dies ein Labor der Stufe Anfänger mit einer Abschlussquote von 98% ist. Es hat eine positive Bewertungsrate von 100% von den Lernenden erhalten.

Einführung in den wc-Befehl

Der Befehl wc (word count, Wortzählung) ist ein grundlegendes Linux-Hilfsprogramm, das zur Zählung von Zeilen, Wörtern und Zeichen in Textdateien verwendet wird. In diesem Schritt lernen Sie die grundlegende Verwendung dieses Befehls kennen.

Erstellen einer Beispiel-Textdatei

Zunächst erstellen wir eine Beispiel-Textdatei, mit der wir arbeiten können. Wir erstellen diese Datei im Projektverzeichnis mithilfe des echo-Befehls:

  1. Öffnen Sie Ihr Terminal, das sich bereits im Verzeichnis /home/labex/project befinden sollte.

  2. Erstellen Sie eine Datei namens sample.txt mit einem Beispielsatz:

echo "Linux provides powerful command-line tools for text processing." > ~/project/sample.txt

Dieser Befehl verwendet echo, um den Text auszugeben, und den >-Operator, um diese Ausgabe in eine neue Datei namens sample.txt in Ihrem Projektverzeichnis umzuleiten.

Grundlegende Verwendung des wc-Befehls

Nun verwenden wir die grundlegende Form des wc-Befehls, um die Zeilen, Wörter und Zeichen in unserer Beispiel-Datei zu zählen:

wc ~/project/sample.txt

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

1 9 61 /home/labex/project/sample.txt

Lassen Sie uns verstehen, was diese Ausgabe bedeutet:

  • Die erste Zahl (1) stellt die Anzahl der Zeilen in der Datei dar.
  • Die zweite Zahl (9) stellt die Anzahl der Wörter dar.
  • Die dritte Zahl (61) stellt die Anzahl der Zeichen (einschließlich Leerzeichen) dar.
  • Der letzte Teil zeigt den Dateipfad an.

Die genaue Zeichenzahl kann je nachdem, wie Ihr System Zeilenenden behandelt, geringfügig variieren.

Überprüfen des Dateiinhalts

Um zu bestätigen, was wir zählen, können Sie den Inhalt der Datei mithilfe des cat-Befehls anzeigen:

cat ~/project/sample.txt

Dadurch wird der Textinhalt Ihrer Datei angezeigt, sodass Sie die Anzahl der Wörter und Zeilen manuell überprüfen können.

Verwenden von Optionen des wc-Befehls

Der wc-Befehl bietet mehrere Optionen, um bestimmte Elemente in einer Textdatei zu zählen. In diesem Schritt lernen Sie, wie Sie diese Optionen nutzen können, um gezieltere Informationen zu erhalten.

Verfügbare Optionen des wc-Befehls

Die am häufigsten verwendeten Optionen für den wc-Befehl sind:

  • -l: Zählt nur die Anzahl der Zeilen
  • -w: Zählt nur die Anzahl der Wörter
  • -c: Zählt nur die Anzahl der Bytes (Zeichen)
  • -m: Zählt nur die Anzahl der Zeichen (kann sich bei einigen Encodings von -c unterscheiden)

Zählen bestimmter Elemente

Lassen Sie uns diese Optionen mit unserer Beispiel-Datei verwenden:

  1. Um nur die Zeilen in der Datei zu zählen:
wc -l ~/project/sample.txt

Ausgabe:

1 /home/labex/project/sample.txt
  1. Um nur die Wörter in der Datei zu zählen:
wc -w ~/project/sample.txt

Ausgabe:

9 /home/labex/project/sample.txt
  1. Um nur die Zeichen in der Datei zu zählen:
wc -c ~/project/sample.txt

Ausgabe:

61 /home/labex/project/sample.txt

Erstellen einer mehrzeiligen Datei

Nun erstellen wir eine Datei mit mehreren Zeilen, um die Zeilenzählung besser zu verstehen:

cat > ~/project/multiline.txt << EOF
The first line of text.
The second line of text.
The third line of text.
EOF

Dieser Befehl erstellt eine neue Datei namens multiline.txt mit drei Zeilen Text.

Nun zählen wir die Zeilen in dieser neuen Datei:

wc -l ~/project/multiline.txt

Ausgabe:

3 /home/labex/project/multiline.txt

Sie können auch gleichzeitig Zeilen und Wörter zählen, indem Sie Optionen kombinieren:

wc -l -w ~/project/multiline.txt

Ausgabe:

3 15 /home/labex/project/multiline.txt

Dies zeigt, dass die Datei 3 Zeilen und 15 Wörter enthält.

Arbeiten mit mehreren Dateien

Der wc-Befehl kann mehrere Dateien gleichzeitig verarbeiten und gibt für jede Datei separat sowie eine Gesamtzahl aus. Dies ist besonders nützlich, wenn Sie mehrere Textdateien analysieren müssen.

Erstellen zusätzlicher Dateien

Erstellen wir zwei weitere Dateien, mit denen wir arbeiten können:

  1. Erstellen Sie die erste zusätzliche Datei:
echo "This is the first additional file for our counting exercise." > ~/project/file1.txt
  1. Erstellen Sie die zweite zusätzliche Datei:
echo "The second additional file contains this text for counting." > ~/project/file2.txt

Zählen in mehreren Dateien

Nun verwenden wir den wc-Befehl, um die Zeilen, Wörter und Zeichen in allen drei Dateien gleichzeitig zu zählen:

wc ~/project/sample.txt ~/project/file1.txt ~/project/file2.txt

Sie sollten eine Ausgabe ähnlich der folgenden sehen:

 1  9 61 /home/labex/project/sample.txt
 1 10 59 /home/labex/project/file1.txt
 1  9 54 /home/labex/project/file2.txt
 3 28 174 total

Die Ausgabe zeigt die Zählungen für jede Datei separat an, gefolgt von einer Gesamtzählung über alle Dateien.

Nur die Anzahl der Wörter zählen

Wenn Sie nur an der Anzahl der Wörter in allen Dateien interessiert sind, können Sie verwenden:

wc -w ~/project/sample.txt ~/project/file1.txt ~/project/file2.txt

Ausgabe:

 9 /home/labex/project/sample.txt
10 /home/labex/project/file1.txt
 9 /home/labex/project/file2.txt
28 total

Verwenden von Wildcards

Sie können auch Wildcards (Platzhalter) verwenden, um in mehreren Dateien, die einem Muster entsprechen, zu zählen. Beispielsweise können Sie die Zeilen in allen Textdateien im Projektverzeichnis zählen:

wc -l ~/project/*.txt

Dieser Befehl zählt die Zeilen in allen Dateien mit der Endung .txt im Projektverzeichnis.

Ausgabe (Ihre Ergebnisse können zusätzliche Dateien enthalten):

 1 /home/labex/project/file1.txt
 1 /home/labex/project/file2.txt
 3 /home/labex/project/multiline.txt
 1 /home/labex/project/sample.txt
 6 total

Dies zeigt die Zeilenzahl für jede .txt-Datei und die Gesamtzahl der Zeilen über alle Textdateien an.

Fortgeschrittene Techniken zur Textzählung

In diesem Schritt lernen Sie, wie Sie den wc-Befehl mit anderen Befehlen mithilfe von Pipes (Rohrleitungen) kombinieren können, um komplexere Textanalyseaufgaben durchzuführen.

Verwenden von wc mit Pipes

Die Stärke von Linux-Befehlen liegt in der Möglichkeit, sie mithilfe von Pipes (|) zu kombinieren. Eine Pipe sendet die Ausgabe eines Befehls als Eingabe an einen anderen Befehl.

Erstellen wir eine komplexere Textdatei, mit der wir arbeiten können:

cat > ~/project/article.txt << EOF
Linux Text Processing
====================

Text processing is one of the fundamental skills for any Linux user.
The command line offers powerful tools for processing and analyzing text.
Some of the most common text processing commands include:
- grep: for searching text
- sed: for text transformation
- awk: for pattern scanning and processing
- wc: for counting

This article explores the wc command in detail.
EOF

Zählen bestimmter Zeilen

Sie können grep verwenden, um bestimmte Zeilen zu finden und dann mit wc zu zählen:

  1. Zählen Sie, wie viele Zeilen das Wort "text" enthalten:
grep -i "text" ~/project/article.txt | wc -l

Die Option -i macht die Suche unabhängig von der Groß- und Kleinschreibung. Dieser Befehl sollte die folgende Ausgabe liefern:

3

Dies bedeutet, dass es 3 Zeilen gibt, die das Wort "text" (in beliebiger Schreibweise) in der Datei enthalten.

Zählen von Wörtern in bestimmten Textteilen

Sie können auch die Wörter in bestimmten Teilen einer Datei zählen:

  1. Zählen Sie die Anzahl der Wörter in Zeilen, die "command" enthalten:
grep "command" ~/project/article.txt | wc -w

Ausgabe:

14

Dies sagt Ihnen, dass es 14 Wörter in den Zeilen gibt, die das Wort "command" enthalten.

Sortieren von Dateien nach Zeilenzahl

Kombinieren wir das, was wir gelernt haben, mit dem sort-Befehl, um unsere Dateien nach der Zeilenzahl zu organisieren:

wc -l ~/project/*.txt | sort -n

Dieser Befehl:

  1. Zählt die Zeilen in allen Textdateien
  2. Verwenden Sie sort -n, um die Ergebnisse numerisch (nach der Anzahl der Zeilen) zu sortieren

Die Ausgabe listet die Dateien in aufsteigender Reihenfolge ihrer Zeilenzahl auf, beginnend mit der Datei mit der geringsten Anzahl von Zeilen.

Analysieren von Befehlsausgaben

Sie können wc verwenden, um die Ausgabe eines beliebigen Befehls zu zählen. Beispielsweise können Sie zählen, wie viele Dateien sich im Projektverzeichnis befinden:

ls ~/project | wc -l

Dies sagt Ihnen die Anzahl der Einträge (Dateien und Verzeichnisse) im Projektverzeichnis.

Als weiteres Beispiel können Sie zählen, wie viele laufende Prozesse Sie derzeit haben:

ps aux | wc -l

Die Ausgabe ist die Anzahl der Zeilen in der Prozessliste, die auch eine Kopfzeile enthält (der tatsächliche Anzahl der Prozesse ist also um eins geringer als die angezeigte Anzahl).

Zusammenfassung

In diesem Lab haben Sie gelernt, wie Sie den Linux-wc-Befehl verwenden können, um Zeilen, Wörter und Zeichen in Textdateien zu zählen. Sie haben mehrere wichtige Techniken zur Textzählung untersucht:

  • Die grundlegende Verwendung des wc-Befehls, um Zeilen, Wörter und Zeichen in einer einzelnen Datei zu zählen
  • Die Verwendung spezifischer Optionen (-l, -w, -c), um nur das zu zählen, was Sie benötigen
  • Die gleichzeitige Arbeit mit mehreren Dateien und die Ermittlung von Gesamtzählungen
  • Die Kombination von wc mit anderen Befehlen mithilfe von Pipes für komplexere Textanalyseaufgaben

Diese Fähigkeiten zur Textzählung sind für verschiedene Linux-Aktivitäten grundlegend, darunter:

  • Die Analyse von Textdateien
  • Das Schreiben von Skripten und die Automatisierung
  • Die Datenverarbeitung
  • Systemadministrationstasks

Der wc-Befehl ist nur eines von vielen leistungsstarken Textverarbeitungstools, die in Linux zur Verfügung stehen. Wenn Sie Ihre Linux-Fähigkeiten weiter ausbauen, werden Sie feststellen, dass diese Befehlszeilentools auf kreative Weise kombiniert werden können, um komplexe Textverarbeitungsprobleme effizient zu lösen.