Der Befehl wc (word count) ist eines der GNU-Kerndienstprogramme, das scheinbar einfach aussieht, aber tatsächlich ein ziemlich nützlicher Befehl ist. Wie aus dem Namen hervorgeht, zählt es die Anzahl der Zeilen, Wörter, Zeichen, Bytes und sogar die Länge der längsten Zeile in der Datei und gibt sie auf der Standardausgabe aus. Sie benötigen diese Anzahl möglicherweise aus mehreren Gründen. Beispielsweise können Sie die Zeichenanzahl verwenden, um die Anzahl der Zeichen einzuschränken, die in einen Beitrag eingefügt werden können. Ebenso können Sie die Anzahl der Benutzer auf Ihrem System, die Anzahl der auf Ihrem System installierten Pakete usw. zählen.
In diesem Artikel erklären wir, wie man den Befehl wc unter Linux zusammen mit seinen Befehlszeilenoptionen und einigen Beispielen verwendet.
Wir haben die Befehle auf dem System Ubuntu 20.04 Focal Fossa ausgeführt. Mehr oder weniger die gleichen Befehle lassen sich auch auf anderen Linux-Distributionen implementieren. Wir haben die Befehle in der Standard-Terminalanwendung ausgeführt, auf die über die Tastenkombination Strg+Alt+T zugegriffen werden kann.
Syntax
Hier ist die grundlegende Syntax für den wc-Befehl:
wc [OPTION]... [FILE]...
Wenn Sie mehrere Optionen verwenden möchten, können Sie diese ohne Leerzeichen hinzufügen. Während mehrere Dateien durch ein einzelnes Leerzeichen getrennt werden sollten.
Grundlegende Verwendung des wc-Befehls
Wenn der Befehl wc ohne Befehlszeilenoptionen verwendet wird, gibt er die Anzahl der Zeilen, Wörter und Bytes in den Dateien zurück. Um den wc-Befehl zu verwenden, geben Sie einfach wc ein gefolgt von dem Dateinamen, für den Sie die Anzahl ermitteln möchten.
$ wc testfile.txt
Erklärte Ausgabe:
Der Befehl wc gibt die Zählergebnisse für die angegebene Datei in vier Spalten aus. Die erste Spalte zeigt die Anzahl der Zeilen in der Datei, die zweite Spalte die Anzahl der Wörter, die dritte Spalte die Anzahl der Bytes und die vierte Spalte den Dateinamen.
Hinweis:wc gibt nur die Anzahl der Zeilenumbrüche aus, nicht die tatsächlichen Zeilen in der angegebenen Datei.
In der obigen Befehlsausgabe ist 12 die Anzahl der Zeilen, 21 die Anzahl der Wörter und 116 die Anzahl der Bytes in der „testfile.txt“.
Wenn Sie den Dateinamen nicht im Ergebnis drucken möchten, verwenden Sie
Mit dem Befehl wc können Sie mehrere Dateien für die Zählung angeben. Der wc-Befehl gibt die Anzahl für jede Datei zusammen mit der Gesamtanzahl am Ende zurück, die die Summe der Anzahl für jede Datei ist.
Der Befehl wc hat einige Befehlszeilenoptionen. Schauen wir uns diese Optionen und ihre Funktionen an:
Verwendung des wc-Befehls mit -l oder –Linien Option können Sie nur die Anzahl der Zeilen in der Datei drucken. Der folgende Befehl gibt beispielsweise nur die Zeilenanzahl in der „testfile.txt“ aus:
In der folgenden Ausgabe ist 12 die Anzahl der Zeilen in der „testfile.txt“.
Wenn Sie nur die Wortanzahl in einer Datei ausgeben müssen, verwenden Sie den wc-Befehl mit -w oder –Wörter Möglichkeit. Beispielsweise gibt der folgende Befehl die Wortzahl in der „testfile.txt“ aus:
In der folgenden Ausgabe ist 21 die Anzahl der Wörter in der „testfile.txt“.
Verwendung des wc-Befehls mit -c oder –bytes Option können Sie die Anzahl der Bytes in der Datei drucken. Der folgende Befehl gibt die Byteanzahl in der „testfile.txt“ aus:
In der folgenden Ausgabe ist 116 die Anzahl der Bytes in der „testfile.txt“.
Verwendung des wc-Befehls mit -m oder –chars Option können Sie die Anzahl der Zeichen in der Datei drucken. Der folgende Befehl gibt beispielsweise nur die Zeichenanzahl in der „testfile.txt“ aus:
In der folgenden Ausgabe ist 116 die Anzahl der Zeichen in der testfile.txt.
Hinweis:Die Byteanzahl und die Zeichenanzahl sind für die Dateien im ASCII-Format gleich.
Wenn Sie die Länge der längsten Zeile in einer bestimmten Datei ausgeben müssen, können Sie dies mit dem Befehl wc mit -L tun oder –max-line-length Möglichkeit. Der folgende Befehl gibt beispielsweise die Länge der längsten Zeile der „testfile.txt“ aus:
In der folgenden Ausgabe ist 20 die Länge der längsten Zeile.
Um die Version des wc-Befehls anzuzeigen, verwenden Sie den folgenden Befehl:
Sie können die Befehlszeilenoptionen auch kombinieren. Um beispielsweise die Zeilen- und Byteanzahl auszugeben, kombinieren Sie die Optionen -l und -c wie folgt:
Hinweis:Unabhängig davon, ob Sie -lc oder -cl ausführen, wird die Ausgabe immer in der gleichen Reihenfolge erfolgen, d. h. Zeilen-, Wort- und Byteanzahl.
In der obigen Ausgabe ist 29 die Zeilenanzahl und 782 die Byteanzahl in der Datei „sample.txt“.
Um die Ausgabe des wc-Befehls in einer Datei zu speichern, verwenden Sie den Operator> wie folgt:
Schauen wir uns einige Beispiele für den wc-Befehl an, indem wir ihn mit anderen Befehlen leiten.
Um die Anzahl der Dateien in einem beliebigen Verzeichnis zu zählen, leiten Sie die Ausgabe des Befehls find an wc weiter. Um beispielsweise die Anzahl der Dateien im Verzeichnis ~/Downloads zu ermitteln, lautet der Befehl:
Der Befehl find listet alle Dateien im Verzeichnis ~/Downloads Ihres Systems auf, die dann an den Befehl wc weitergeleitet werden, um eine Zählung zu erhalten.
Der Befehl wc kann auch verwendet werden, um die Gesamtzahl der Benutzer in einem System zu zählen. Um die Anzahl der Benutzer zu zählen, verwenden Sie den Befehl „getent passwd“ und leiten Sie seine Ausgabe wie folgt an den Befehl wc weiter:
Der Befehl „getent passwd“ listet alle Benutzer im System auf, die dann an den Befehl wc weitergeleitet werden, um eine Zählung zu erhalten.
Mit dem wc-Befehl können Sie auch die Anzahl der installierten Pakete in Ihrem System zählen. Verwenden Sie den folgenden Befehl, um die Anzahl der installierten Pakete zu zählen:
Der Befehl „apt list –installed“ listet alle installierten Pakete im System auf, die dann an den Befehl wc weitergeleitet werden, um eine Zählung zu erhalten.
Mit dem wc-Befehl können Sie die Anzahl bestimmter Wörter in einer Datei zählen. Um beispielsweise herauszufinden, wie oft das Wort „Wissenschaft“ in der Datei „sample.txt“ vorkommt, lautet der Befehl:
In diesem Beispiel sucht der Befehl grep nach dem Vorkommen des Wortes „Wissenschaft“ in der Datei sample.txt, die dann an den Befehl wc weitergeleitet wird, um eine Zählung zu erhalten.
Mit dem Befehl wc können Sie auch die Anzahl der Zeichen in einer bestimmten Zeile ermitteln. Zum Beispiel, um die Anzahl der Zeichen in Zeile 50 zu finden der Datei mit dem Namen „sample.txt“ lautet der Befehl:
In diesem Beispiel der Kopf Der Befehl listet die ersten 50 Zeilen der Datei sample.txt auf, die dann an den Befehl tail geleitet wird. Der „Schwanz -1 “-Befehl filtert dann die letzte Zeile (Zeile Nr. 50) der ersten Ausgabe heraus, die er von head erhalten hat Befehl. Die Ausgabe des Schwanzes Der Befehl wird dann an den wc-Befehl weitergeleitet, um die Anzahl der Zeichen in Zeile 50 zu erhalten.
Im folgenden Beispiel erstellen wir ein Skript, das Zeilen, Wörter und Bytes in einer Datei zählt. Beim Ausführen des Skripts übergeben wir den Dateinamen als Argument, sodass Sie dasselbe Skript für alle Ihre Dateien ausführen können.
Erstellen Sie ein Skript mit den folgenden Codezeilen:
Führen Sie nun das Skript aus, indem Sie den Dateinamen als Argument übergeben.
Um beispielsweise die Anzahl der Zeilen, Wörter und Zeichen für die Datei mit dem Namen „sample.txt“ abzurufen, führen Sie das Skript aus, indem Sie sample.txt als Argument übergeben:
Nachdem Sie das Skript ausgeführt haben, erhalten Sie eine ähnliche Ausgabe, die Ihnen die Wortanzahl für Ihre Datei zeigt.
Wenn sich die Datei an einem anderen Ort als Ihrem aktuellen Arbeitsverzeichnis befindet, geben Sie den vollständigen Pfad an:
So können Sie den wc-Befehl unter Linux verwenden. In diesem Artikel haben Sie die Grundlagen des wc-Befehls zusammen mit seinen Befehlszeilenoptionen und einigen praktischen Beispielen gelernt. Jetzt können Sie ganz einfach die Anzahl der Zeilen, Wörter, Zeichen und Bytes in Ihren Dateien und in der Ausgabe anderer Befehle zählen.
$ wc < testfile.txt
Zählen Sie aus mehreren Dateien
Optionen
Zähle die Anzahl der Linien
$ wc -l testfile.txt
Zählen Sie die Anzahl der Wörter
$ wc -w testfile.txt
Zählen Sie die Anzahl der Bytes
$ wc -c testfile.txt
Zähle die Anzahl der Zeichen
$ wc -m testfile.txt
Länge der längsten Zeile drucken
$ wc -L testfile.txt
Version anzeigen
$ wc --version
Anzahl Zeilen und Bytes drucken
$ wc -lc
Zählung in einer Datei speichern
$ wc sample.txt > file_count
Wc-Befehlsverwendungsbeispiel
Dateien in jedem Verzeichnis zählen
$ find ~/Downloads/ -type f | wc -l
Zählen Sie die Anzahl der Benutzer
$ getent passwd | wc –l
Zähle die Anzahl der installierten Pakete
$ apt list --installed | wc -l
Anzahl eines bestimmten Wortes in einer Datei zählen
$ grep -o ‘science’ sample.txt | wc -w
Anzahl der Zeichen in einer bestimmten Zeile zählen
$ head -50 sample.txt | tail -1 | wc -w
Verwenden Sie ein Skript zum Zählen
#!/bin/bash
echo "File to read:"
read file
echo ""
echo "This file has the following number of:"
echo -n "Lines: "
wc -l < $file
echo -n "Words: "
wc -w < $file
echo -n "Chars: "
wc -c < $file
$ <./script_name> <path/to/filename>
$ ./script2 sample.txt
$ ./script2 /etc/passwd