So zählen Sie die Anzahl der Zeilen in einer Datei in Bash

Es kann vorkommen, dass es erforderlich ist, die Anzahl der Zeilen in einer bestimmten Datei aufzuzeichnen. Das manuelle Zählen der Zeilen ist zeitaufwändig, da die Datei große und komplexe Inhalte enthalten kann. Die Bash-Shell verfügt über mehrere Befehle, die die Anzahl der Zeilen in der bereitgestellten Datei anzeigen. Wir stellen alle Befehle zur Verfügung, die in der Bash-Shell ausführbar sind, und helfen Ihnen dabei, die Anzahl der Zeilen aus den Dateien zu zählen. Jeder dieser Befehle gibt einen Status zurück, der auf der Art seiner Ausführung basiert.

Beispiel 1: Zählen Sie die Zeilen in einer Datei in Bash mit dem WC-Befehl

Der effektivste und einfachste Befehl zum Zählen der Zeilen in einer Datei ist wc, was für „word count“ steht. Hier versehen wir den Befehl wc im Terminal mit dem Flag „-l“. Die Flagge bezeichnet die Linien. Der Befehl „wc -l“ wird mit der Datei „Bash.sh“ für die Anzahl der Zeilen angegeben, die aus dieser Datei gezählt werden sollen. Wenn wir diesen Befehl ausführen, generiert er den ganzzahligen Wert „13“ zusammen mit dem Dateinamen „Bash.sh“. Die Ausgabe gibt die Gesamtzahl der Zeilen der Datei „Bash.sh“ an.

linux@VirtualBox:~$ wc -l Bash.sh
13 Bash.sh

Außerdem wird der Name der Datei mit der Anzahl der gezählten Zeilen angezeigt. Wir können auch verhindern, dass der Dateiname als Parameter übergeben wird, indem wir das Symbol „<“ verwenden, um den Inhalt der Datei an den Befehl wc umzuleiten. Hier präsentieren wir den Befehl „wc -l“ mit dem Symbol „<“ und legen dann den Dateinamen „Bash.sh“ fest. Wenn der Befehl im Terminal ausgeführt wird, zeigt er lediglich die Anzahl der Zeilen an, die in der Datei vorhanden sind.

linux@VirtualBox:~$ wc -l < ​​Bash.sh
13

Wir haben noch eine weitere Option: Sie können das Pipe-Symbol (‚|‘) verwenden, um die Methode mit dem Befehl cat einzugeben und den Inhalt der Datei an den Befehl wc zu übergeben. Im Folgenden führen wir den Befehl aus, bei dem das Schlüsselwort cat mit der Datei „Bash.sh“ verwendet wird. Dann platzieren wir die Pipe „|“ Symbol vor dem Befehl „wc -l“. Der Befehl gibt nur die Anzahl der Zeilen zurück, die sich in der Datei „Bash.sh“ befinden.

linux@VirtualBox:~$ cat Bash.sh | wc -l
13

Darüber hinaus können wir mit dem Befehl wc auch die Anzahl der Zeilen mehrerer Dateien gleichzeitig zählen, indem wir zwischen jedem Dateinamen ein Leerzeichen angeben. Hier geben wir einen Befehl ein, bei dem das WC das Flag „-lines“ mit drei Dateien verwendet, die denselben „Bash.sh“-Namen haben. Dieser Befehl zeigt zunächst die einzelnen Zeilenanzahlen für jede Datei an. Anschließend wird am Ende mit dem Schlüsselwort „total“ die Gesamtzeilenzahl aller Dateien angezeigt.

linux@VirtualBox:~$ wc –lines Bash.sh Bash.sh Bash.sh
13 Bash.sh
13 Bash.sh
13 Bash.sh
Insgesamt 39

Beispiel 2: Zählen Sie die Zeilen in einer Datei in Bash mit dem NL-Befehl

Es gibt eine Technik zum Zählen der Zeilen in jeder Datei, die selten implementiert wird. Der Befehl wird als „nl“ bezeichnet, der die nummerierten Zeilen aus der Eingabe liest und sie in die Standardausgabe schreibt. Im folgenden nl-Befehl legen wir den Dateinamen „Data.txt“ mit dem Schlüsselwort „nl“ fest, das jede Zeile mit der Nummer und dem Inhalt der Datei zurückgibt.

linux@VirtualBox:~$ nl Data.txt
1 Sonntag
2 Montag
3 Dienstag
4 Mittwoch
5 Donnerstag
6 Freitag
7 Samstag

Der Befehl „-nl“ kann mit verschiedenen Optionen verwendet werden. Hier verwenden und wenden wir zunächst den Befehl nl mit der Datei „Data.txt“ an. Danach verwenden wir die Pipeline „|“ Symbol und stellen Sie die Option „Ende“ auf der rechten Seite des Pipeline-Symbols ein. Die Option tail wird mit dem Wert „-n3“ angegeben, der die drei Zeilen ab der letzten der Datei „Data.txt“ zählt. Das Ergebnis dieses Befehls gibt die letzten Zeilen mit dem Eingabeinhalt im folgenden Bild aus:

linux@VirtualBox:~$ nl Data.txt | Schwanz -n3
5 Donnerstag
6 Freitag
7 Samstag

Beispiel 3: Zählen Sie die Zeilen in einer Datei in Bash mit dem Awk-Befehl

Awk ist ein äußerst effektives Befehlszeilentool zur Textverarbeitung. Es kann für eine Vielzahl von Vorgängen verwendet werden, von denen die Ermittlung der Anzahl der Zeilen die wichtigste ist. Der Befehl „awk“ verwendet den Parameter „END {print NR}“. Die NR ist die Anzahl der Datensätze, die vom END-Abschnitt gedruckt werden, um die Zeilen in der Datei anzugeben. Die in der Datei Bash.txt enthaltenen Zeilen können mit dem Befehl awk geschätzt werden, der wie folgt aufgeführt ist:

linux@VirtualBox:~$ awk ‚END {print NR}‘ Bash.txt
28

Beispiel 4: Zählen Sie die Zeilen in einer Datei in Bash mit dem Sed-Befehl

Als nächstes verwenden Sie den Befehl sed, um die Anzahl der Gesamtzeilen in der angegebenen Datei zu ermitteln. Der sed wird als Stream-Editor für das Linux-System bezeichnet. Es führt hauptsächlich die Suche durch und ersetzt die Operationen an den Daten aus den angegebenen Dateien oder Streams. Hier verwenden wir den Befehl sed mit der Option „-n“, um die Gesamtzahl der Zeilen aus den Dateien zu zählen. Der Operator „$=“ gibt die aktuelle Zeilennummer aus. Anschließend legen wir die Datei „NewFile.txt“ fest, für die die sed-Befehlsoperation ausgeführt wird.

linux@VirtualBox:~$ sed -n ‚$=‘ NewFile.txt
14

Beispiel 5: Zählen Sie die Zeilen in einer Datei in Bash mit dem Grep-Befehl

Der Grep-Filter liest eine Datei für ein bestimmtes Zeichenmuster und zeigt alle Zeilen an, die mit diesem Muster übereinstimmen. Grep ist eine Abkürzung für Global Regular Expression Print. Beachten Sie den folgenden Befehl von Grep, bei dem wir die Option „-e“ verwenden, um die Gesamtzahl der Zeilen zu ermitteln. Das „$“ stellt die Endzeile des regulären Ausdrucks dar und „c“ bezeichnet die Zähloption. Der grep-Befehl wird über die Datei „LinesFile.txt“ ausgeführt, die als Argument übergeben wird. Wenn wir die spezifische grep-Datei ausführen, wird der Wert zum Zählen der Zeilen aus der Datei ausgegeben.

linux@VirtualBox:~$ grep -e „$“ -c LinesFile.txt
11

Zuvor verwenden wir das Symbol „$“ für die Endzeile des regulären Ausdrucks. In der Anfangszeile des regulären Ausdrucks wird das Symbol „^“ über dem Symbol „$“ eingesetzt. Das Format des grep-Befehls zum Abrufen der Zählzeilen vom Anfang des regulären Ausdrucks mit dem Ausgabewert wird im Folgenden angezeigt:

linux@VirtualBox:~$ grep -e „^“ -c LinesFile.txt
11

Beispiel 6: Zählen Sie die Zeilen in einer Datei in Bash mit dem While-Befehl

Die while-Schleife ist ein weiterer Ansatz zum Zählen der Zeilenanzahl in der Bash-Shell. Hier ist das Skript einer While-Schleife, um die Zeilen der Datei abzurufen. Wir setzen das „count“-Objekt mit dem Wert „0“. Dann rufen wir die „while“-Schleife auf, die den Lesevorgang ausführt. Dem do wird die Bedingung „count=$count+1“ zugewiesen, die besagt, dass der Wert bei jeder Zählung aus der Datei um den Wert „1“ erhöht wird. Mit dem Befehl done wird der Dateiname „Bash3.sh“ festgelegt und die Anzahl der Gesamtzeilen in der Datei angezeigt.

linux@VirtualBox:~$ count=0
linux@VirtualBox:~$ beim Lesen
> tun
((Anzahl=$Anzahl+1))
fertig echo $count
14

Abschluss

In der Anleitung werden alle Befehle erläutert, mit denen die Zeilenanzahl aus der Datei ermittelt werden kann. Diese Befehle sind hilfreich, wenn Sie in großem Umfang arbeiten, bei dem die Entwickler die Länge ihrer Dateien messen. Unter allen Befehlen zum Zählen der Dateizeilen ist der Befehl wc eine sehr einfache und am häufigsten verwendete Methode.

Kommentar verfassen

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert

Nach oben scrollen