6 Möglichkeiten, die Anzahl der Zeilen in einer Linux-Datei zu zählen
Linux
2023-12-04T13:00:22Z
Schnelle Links
Wichtigste Erkenntnisse
- Sie können den Befehl wc mit der Option "-l" verwenden, um die Zeilenzahl einer Datei zu ermitteln (wc -l filename). Dabei wird auch der Name der Datei ausgegeben.
- Eine Kombination des Befehls sed mit der Option "-n" kann ebenfalls die Zeilenzahl ermitteln (sed -n '=' Dateiname). Dieser Befehl gibt die Zeilennummern ohne den Inhalt der Datei aus.
- Führen Sie den Befehl awk mit der eingebauten Variable "NR" aus, um die Zeilenzahl einer Datei zu ermitteln (awk 'END {print NR}' filename).
Möchten Sie die Anzahl der Zeilen in einer Linux-Datei zählen? Wir zeigen Ihnen verschiedene Möglichkeiten, wie Sie das tun können. Das Zählen der Zeilen gibt Aufschluss darüber, wie klein oder groß eine bestimmte Datei ist.
Warum die Zeilen in einer Datei zählen?
Wie alle Computerdateien gibt es auch Linux-Dateien in verschiedenen Größen. Einige Dateien sind groß, andere sind klein. Linux-Benutzer müssen häufig die Dateigröße überprüfen, um den Speicherplatz im System zu verwalten und zu vermeiden, dass der Speicherplatz knapp wird. Eine Möglichkeit, dies zu tun, besteht darin, die Anzahl der Zeilen zu zählen, die eine Datei hat, wenn auch nur grob. So wie die Dicke eines Buches im Allgemeinen seine Länge angibt, kann die Anzahl der Zeilen in einer Datei in manchen Situationen einen relativen Eindruck von ihrer Größe vermitteln.
Das Zählen der Zeilen einer Datei ist aus verschiedenen Gründen nützlich. Sie können das Format oder die Struktur der Datei überprüfen. Sie können auch die Größe und Komplexität einer Textdatei messen, z. B. einer Quellcodedatei, einer Konfigurationsdatei oder einer Protokolldatei.
Die Zeilenzählung kann Ihnen helfen, die Ausgabe anderer Befehle zu filtern und zu analysieren. Zum Beispiel kann man die Anzahl der Zeilen in einer Systemprotokolldatei analysieren. Dies hilft Ihnen, die ungefähre Anzahl der in der Systemprotokolldatei vorhandenen Fehler zu überprüfen.
Die Zeilenzählung gibt Ihnen auch einen Überblick über die Gesamtzahl der Elemente in einem Verzeichnis. Durch das Zählen der Zeilen in einer Datei im Laufe der Zeit können Sie Änderungen an der Datei verfolgen, z. B. das Hinzufügen oder Entfernen von Zeilen. Dies kann bei der Fehlersuche in Software oder bei der Verfolgung von Änderungen an einem Dokument nützlich sein.
So zählen Sie Zeilen in einer Datei unter Linux
Linux bietet eine Reihe von Befehlen und Werkzeugen, mit denen Sie leicht herausfinden können, wie viele Zeilen eine Datei enthält. Einige dieser Befehle sind wc, sed, grep und awk. Auch ein Bash-Skript kann helfen, die Anzahl der Zeilen in einer Datei zu berechnen. Wir werden jede dieser Methoden anhand eines Beispiels untersuchen.
1. Zählen von Wörtern, Zeilen und Zeichen in einer Datei mit wc
Möchten Sie auf einfache Weise die Zeilen in einer Datei zählen? Verwenden Sie einfach den Befehl wc. Dieser Befehl gibt die Anzahl der Wörter, Zeilen und Zeichen in einer Datei aus.
Betrachten wir eine Beispieldatei, beispiel.txt. Diese Datei enthält eine Liste mit einigen Linux-Befehlen für Anfänger:
Um die Zeilen der angegebenen Datei mit dem Namen example.txt zu zählen, fügen Sie dem Befehl wc das Flag -l hinzu, gefolgt vom Dateinamen:
wc -l beispiel.txt
Die obige Ausgabe zeigt nur die Anzahl der Zeilen an. Um detaillierte Informationen über die Datei zu erhalten, verwenden Sie den wc-Befehl ohne eine Option. Der Befehl wc ohne Flags gibt die Anzahl der Wörter, Zeilen und Zeichen einer Datei in einem einzigen Befehl aus:
wc beispiel.txt
Nehmen wir nun an, Sie haben drei Dateien mit den Namen example.txt, new.txt und new1.txt. Um die Anzahl der Zeilen mehrerer Dateien zu zählen, verwenden Sie einfach den Befehl wc mit der Option -l, gefolgt von den Dateinamen.
wc -l beispiel.txt neu.txt neu1.txt
Der Befehl wc kann auch die Zeilenzahl aller in einem Verzeichnis vorhandenen Dateien anzeigen. Verwenden Sie dazu den wc-Befehl mit der Option -l, gefolgt von dem Operator asterisk.
wc -l *
Wie in allen oben genannten Fällen zeigt die Ausgabe den Dateinamen zusammen mit der Zeilenzahl an. Um die Zeilenzahl ohne den Dateinamen anzuzeigen, führen Sie aus:
wc -l < beispiel.txt
Hier verwendet der Befehl wc eine Umleitung der Eingabe. Dadurch wird der Inhalt der Beispieldatei an den wc-Befehl übergeben. Dieser zählt dann direkt die Zeilen, ohne den Dateinamen anzuzeigen.
Eine andere Möglichkeit, Zeilen in einer Datei zu zählen, besteht darin, die Ausgabe des Befehls cat mit dem Befehl wc -l zu verbinden.
cat beispiel.txt | wc -l
2. Zählen und Anzeigen der Zeilennummern einer Datei mit sed
Der sed-Befehl oder Stream-Editor ist ein wichtiges Kommandozeilenwerkzeug für die Textmanipulation unter Linux. Er führt verschiedene Operationen an einer Datei durch, wie das Einfügen, Löschen, Ersetzen oder Anhängen von Text. Der Befehl sed nimmt die Eingabe aus einer Datei oder über die Standardeingabe entgegen.
Der sed-Befehl kann auch die Gesamtanzahl der Zeilen einer bestimmten Datei zählen. Er kann verschiedene Argumente annehmen, um die Zeilennummern auszugeben.
Führen Sie den Befehl sed mit der Option -n und einem Gleichheitszeichen aus, um die Zeilennummern nacheinander zu zählen und in separaten Zeilen anzuzeigen.
sed -n '=' beispiel.txt
Manchmal ist es effizienter, die Gesamtzahl der Zeilen zu ermitteln, als einzelne Zeilennummern für jede Zeile der Datei abzurufen. Der Befehl sed mit den Optionen -n und $= kann die Gesamtzahl der Zeilen in der Datei zählen und anzeigen. Das $= kennzeichnet die letzte Zeile der Datei. Es sorgt dafür, dass nur die Zeilennummer auf der Standardausgabe ausgegeben wird.
Um die Gesamtzahl der Zeilen in der Datei zu ermitteln, verwenden Sie:
sed -n '$=' beispiel.txt
3. Mit grep die Anzahl der Zeilen in einer Datei zählen
Der Befehl grep wird speziell für die Suche nach einem Muster innerhalb einer Datei verwendet. Darüber hinaus kann er auch die Gesamtzahl der Zeilen ermitteln, die dem definierten Muster entsprechen oder nicht entsprechen. Das definierte Muster ist ein regulärer Ausdruck, der angibt, wonach gesucht werden soll.
Wenn Sie die Datei nicht angeben, liest grep aus der Standardeingabe.
Fügen Sie dem Befehl grep das Flag -c hinzu, um die Anzahl der Zeilen zu ermitteln, die einem bestimmten Muster entsprechen. Um zum Beispiel die Zeilen in einer Datei zu zählen, die das Wort "Command" enthalten, führen Sie aus:
grep -c Befehl Beispiel.txt
Es ist auch möglich, die Zeilen zu filtern und einfach zu zählen, die ein bestimmtes Wort oder Muster nicht enthalten.
Verwenden Sie dazu das Flag -v mit grep:
grep -c -v awk Beispiel.txt
Es gibt ein weiteres reguläres Ausdrucksmuster (".*") mit einem Punkt und einem Sternchen. Es passt auf jede Zeile, in der ein beliebiges Zeichen mindestens einmal vorkommt. Im Gegensatz zu den beiden oben genannten Befehlen wird nicht nach einem bestimmten Wort gesucht. Es wird einfach die Anzahl der Zeilen in example.txt gezählt und ausgegeben, die ein oder mehrere Zeichen enthalten.
grep -c ".*" beispiel.txt
Das Flag -c sorgt dafür, dass nur die Zeilenzahl angezeigt wird, nicht aber der tatsächliche Zeileninhalt, der dem Muster entspricht.
Um den Dateinamen in der obigen Ausgabe hinzuzufügen, fügen Sie einfach das Flag -H hinzu:
grep -Hc ".*" beispiel.txt
4. Die Gesamtzahl der Zeilen in einer Datei mit awk ausgeben
Der Befehl awk wird für die Textverarbeitung und als Werkzeug für die Datenextraktion und Berichterstellung verwendet. Es ist besonders gut geeignet für den Mustervergleich und die Verarbeitung von Feldern und Datensätzen.
Sie können den awk-Befehl verwenden, um die Zeilen in einer Datei zu zählen. Er verwendet die Programmiersprache AWK, um die Gesamtzahl der Datensätze (Zeilen) in der Datei zu drucken.
awk 'END {print NR}' beispiel.txt
Das angegebene awk-Skript END {print NR} wird nach der Verarbeitung aller Zeilen in der Datei example.txt ausgeführt. Das Skript weist awk an, den Wert von NR zu drucken, der die Gesamtzahl der verarbeiteten Datensätze (Zeilen) darstellt.
5. Auflisten und Zählen von Zeilen in einer Datei mit dem Befehl nl
Der Befehl nl fügt dem angegebenen Dateiinhalt Zeilennummern hinzu. Er ist nützlich, um Dateien mit Zeilennummern anzuzeigen oder zu drucken. Sie können den Befehl nl mit Dateiname verwenden, um die Zeilen in einer bestimmten Datei zu zählen.
nl beispiel.txt
Dieser Befehl zeigt sowohl die Zeilennummern als auch den Zeileninhalt in der Datei example.txt an.
Es ist jedoch keine effiziente Methode, um die Zeilenzahl von Dateien zu ermitteln, insbesondere bei großen Dateien. Er erfordert eine zusätzliche Verarbeitung und Darstellung der Ausgabe, die für die spezielle Aufgabe des Zählens von Zeilen nicht notwendig ist. Stellen Sie sich eine Datei mit Tausenden von Zeilen vor, und Sie müssen ganz nach unten scrollen, um die Gesamtzahl der Zeilen zu ermitteln.
Wenn Sie die Gesamtzahl der Zeilen ohne weitere Informationen wissen wollen, leiten Sie die Ausgabe des Befehls nl mit tail und awk weiter.
nl beispiel.txt | tail -1 | awk '{print $1}'
Der Befehl nl fügt eine Zeilennummer am Anfang jeder Zeile ein. Dann wird die Ausgabe des nl-Befehls mit dem tail-Befehl weitergeleitet, der die letzte Zeile der Eingabe anzeigt. Mit der Option -1 wird der Befehl tail angewiesen, nur eine Zeile anzuzeigen. Bis jetzt haben Sie die Ausgabe "10 uname Command"
Diese Ausgabe wird nun als Eingabe für den awk-Befehl verwendet, der ein bestimmtes Feld der Eingabe ausgibt. Das Argument {print $1} weist den awk-Befehl an, das erste Feld zu drucken, das die Zeilennummer ist. Wenn die Eingabe zum Beispiel "10 uname Command" lautet, druckt der awk-Befehl das erste Feld, in diesem Fall die Zeilennummer 10.
6. Verwenden eines Bash-Skripts zum Zählen der Anzahl der Zeilen in einer Datei
Bash-Skripting, ein praktisches Tool auf Linux-Systemen, wird häufig zur Automatisierung von Aufgaben verwendet. Sie können es auch verwenden, um die Zeilen in einer Datei zu zählen. Sie können ein benutzerdefiniertes Bash-Skript schreiben, das den Befehl wc verwendet, um die Zeilenzahl einer Datei auszugeben:
#!/bin/bash
filename=$1
linecount=$(wc -l < "$filename")
echo "Die Datei $filename hat $linecount Zeilen."
Dieses Bash-Skript verwendet den Befehl wc mit dem Flag -l. Der Befehl wc ermittelt die Anzahl der Zeilen und speichert sie in der Variablen linecount. Am Ende des Skripts wird eine Meldung an das Terminal ausgegeben, die den Dateinamen und die entsprechende Zeilenzahl anzeigt.
Um das obige Skript zu verwenden, speichern Sie es einfach als Datei mit der Erweiterung ".sh" (count_lines.sh) und machen Sie es mit chmod ausführbar:
chmod x count_lines.sh
Führen Sie nun das Skript aus, indem Sie die Schreibweise ./ gefolgt vom Namen des Skripts verwenden:
./count_lines.sh beispiel.txt
Sie erhalten die Gesamtzahl der Zeilen in der Datei example.txt auf der Standardausgabe.
Das Linux-Dateisystem in- und auswendig kennen
Unter Linux ist es wichtig, die Dateien auf Ihrem System zu kennen. Wie das Zählen von Zeilen hilft auch das Zählen von Linux-Dateien in einem Verzeichnis dabei, das System effizienter zu verwalten. So wissen Sie, welche Dateien den meisten Platz benötigen, welche Sie löschen und welche Sie behalten sollten.
Die Kenntnis der Linux-Dateistruktur ist ebenfalls wichtig. Denken Sie an den Hauptpfeiler der Linux-Dateien, die Inodes. Wenn Ihnen diese in Ihrem System ausgehen, haben Sie einen schweren Tag. Die Anzahl dieser Dateien ist sehr begrenzt und sie speichern wichtige Daten in Ihrem System.
Die Kenntnis dieser Dateien hilft Ihnen nicht nur bei der Verwaltung und Durchführung von Aufgaben, sondern erleichtert auch die Systemwartung.