Unter Linux können Sie eine einzelne Aufgabe auf verschiedene Arten erledigen. Ebenso können Sie verschiedene Befehle verwenden, wenn Sie die Anzahl der Zeilen in einzelnen oder mehreren Dateien zählen möchten. In diesem Artikel werde ich fünf verschiedene Möglichkeiten vorstellen, darunter die, mit der Sie eine Gesamtzahl von Zeilen in einer großen Datei drucken können.
[Das könnte Ihnen auch gefallen:So kopieren Sie eine große Anzahl von Dateien unter Linux]
1. Anzahl der Zeilen mit dem wc-Befehl zählen
Als WC steht für „Wortzahl“. “, ist es der am besten geeignete und einfachste Befehl, der ausschließlich dazu dient, Wörter zu zählen , Zeichen , oder Linien in einer Datei.
Angenommen, Sie möchten die Anzahl der Zeilen in einer Textdatei namens distros.txt zählen .
$ cat distros
Sie können "-l"
verwenden oder "--line"
Option mit dem wc-Befehl wie folgt:
$ wc -l distros.txt
Sie können dieses WC sehen zählt auch die Leerzeile und gibt die Anzahl der Zeilen zusammen mit dem Dateinamen aus. Falls Sie nur die Gesamtzahl der Zeilen anzeigen möchten, können Sie den Dateinamen auch ausblenden, indem Sie den Inhalt der Datei auf wc umleiten mit einer linken spitzen Klammer (<)
anstatt die Datei als Parameter zu übergeben.
$ wc -l < distros.txt
Um außerdem mehrere Zeilen aus mehr als einer Datei gleichzeitig anzuzeigen, müssen Sie die Dateinamen als durch Leerzeichen getrennte Argumente übergeben.
$ wc --lines distros.txt distros.txt distros.txt
Auf andere Weise können Sie auch den cat-Befehl verwenden um den Dateiinhalt auf den wc-Befehl umzuleiten als Eingabe über die Pipe ('|')
.
$ cat distros.txt | wc -l
Obwohl es auch die Anzahl der Zeilen in einer Datei zählen wird, hier die Verwendung von cat scheint überflüssig.
2. Zählen Sie die Anzahl der Zeilen mit dem Awk-Befehl
Ach ist ein sehr leistungsfähiges Befehlszeilenprogramm für die Textverarbeitung. Falls Sie awk bereits kennen , können Sie es für verschiedene Zwecke verwenden, einschließlich des Zählens der Anzahl von Zeilen in Dateien.
[Das könnte Ihnen auch gefallen:So löschen Sie leere Zeilen in Dateien mit Grep, Sed und Awk ]
Es kann jedoch einige Zeit dauern, es zu meistern, wenn Sie auf Anfängerniveau sind. Wenn Sie es also nur verwenden möchten, um die Gesamtzahl der Zeilen in einer Datei zu zählen, können Sie sich den folgenden Befehl merken:
$ awk 'END {print NR}' distros.txt
Hier, NR ist die Anzahl der Datensätze oder Zeilennummern in einer Datei, die am ENDE verarbeitet wird Abschnitt.
3. Zählen Sie die Anzahl der Zeilen mit dem Sed-Befehl
Sed ist auch ein sehr nützliches Werkzeug zum Filtern und Bearbeiten von Text. Mehr als ein Text-Stream-Editor, Sie können auch sed verwenden zum Zählen der Zeilen in einer Datei mit dem Befehl:
$ sed -n '$=' distros.txt
Hier '='
gibt die aktuelle Zeilennummer auf der Standardausgabe aus. Kombinieren Sie es also mit dem -n
Option, zählt sie die Gesamtzahl der Zeilen in einer als Argument übergebenen Datei.
4. Zählen Sie die Anzahl der Zeilen mit dem Grep-Befehl
Verwenden Sie noch einen weiteren nützlichen Mustersuchbefehl grep , können Sie die Gesamtzahl der Zeilen in einer Datei mit '-e'
abrufen oder '--regexp'
und '-c'
oder '--count'
Optionen.
$ grep -e "$" -c distros.txt Or $ grep -e "^" -c distros.txt
Hier, '$'
ist ein regulärer Ausdruck, der das Ende einer Zeile und den '^'
darstellt Beginn einer Zeile. Sie können einen der regulären Ausdrücke verwenden.
[Das könnte Ihnen auch gefallen:So finden Sie unter Linux Dateien, die eine bestimmte Textzeichenfolge enthalten]
5. Anzahl der Zeilen mit nl- und cat-Befehlen zählen
Anstatt direkt die Gesamtzahl der Zeilen zu erhalten, können Sie auch den Dateiinhalt ausdrucken und die Gesamtzahl der Zeilen erhalten, indem Sie einen Blick auf die letzte Zeilennummer werfen. Zu diesem Zweck nl ist ein einfacher Befehl, um Daten mit nummerierten Zeilen zu drucken.
$ nl distros.txt
Bei großen Dateien scheint es keine geeignete Methode zu sein, alle Daten in einem Terminal anzuzeigen. Sie können die Daten also auch an tail command weiterleiten um nur einige der letzten nummerierten Zeilen zu drucken.
$ nl distros.txt | tail -n2
Ebenso ein Katzenbefehl mit '-n'
kann auch verwendet werden, um Dateiinhalte mit Zeilennummern zu drucken.
$ cat -n distros.txt | tail -n1
Schlussfolgerung
Nachdem Sie fünf Methoden kennengelernt haben, um eine Reihe von Linien zu zählen, fragen Sie sich sicherlich, welche die beste Methode für Sie ist? Meiner Meinung nach ist der wc-Befehl, egal ob Sie ein Anfänger oder ein fortgeschrittener Linux-Benutzer sind ist der einfachste und schnellste Ansatz.
Wenn Sie jedoch gerade dabei sind, andere leistungsstarke Tools wie grep zu lernen , awk und sed , Sie können diese Befehle auch zu diesem Zweck üben, um Ihre Fähigkeiten zu verbessern.