GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie man Zeilen in einer Datei in UNIX/Linux zählt

Frage :Ich habe eine Datei auf meinem Linux-System mit vielen Zeilen. Wie zähle ich die Gesamtzahl der Zeilen in der Datei?

Mit „wc -l“

Es gibt mehrere Möglichkeiten, Zeilen in einer Datei zu zählen. Aber einer der einfachsten und am weitesten verbreiteten Wege ist die Verwendung von „wc -l“. Das Dienstprogramm wc zeigt die Anzahl der Zeilen, Wörter und Bytes an, die in jeder Eingabedatei oder Standardeingabe (wenn keine Datei angegeben ist) in der Standardausgabe enthalten sind.

Die Syntax lautet:

# wc -l [filename]

Betrachten Sie also die unten gezeigte Datei:

$ cat file01.txt
this is a sample
file
with
some sample
data

1. Der Befehl „wc -l“, wenn er auf diese Datei ausgeführt wird, gibt die Zeilenanzahl zusammen mit dem Dateinamen aus.

$ wc -l file01.txt
       5 file01.txt

2. Um den Dateinamen aus dem Ergebnis wegzulassen, verwenden Sie:

$ wc -l < file01.txt
       5

3. Sie können die Befehlsausgabe jederzeit mit Pipe an den Befehl wc übergeben. Zum Beispiel:

$ cat file01.txt | wc -l
       5

Sie können hier jeden Befehl anstelle von cat haben. Die Ausgabe von jedem Befehl kann an den Befehl wc geleitet werden, um die Zeilen in der Ausgabe zu zählen.

Mit awk

Wenn Sie awk verwenden möchten, um die Zeilenanzahl zu ermitteln, verwenden Sie den folgenden awk-Befehl:

$ awk 'END{print NR}' [filename]

Beispielausgabe:

$ awk 'END{print NR}' file01.txt
5

Mit sed

Verwenden Sie die folgende sed-Befehlssyntax, um die Zeilenanzahl mit GNU sed zu ermitteln:

$ sed -n '$=' [filename]

Beispielausgabe:

$ sed -n '$=' file01.txt
5

Grep verwenden

Unser guter alter Freund "grep" kann auch verwendet werden, um die Anzahl der Zeilen in einer Datei zu zählen. Diese Beispiele sollen Sie nur darüber informieren, dass es mehrere Möglichkeiten gibt, die Zeilen zu zählen, ohne "wc -l" zu verwenden. Aber wenn ich gefragt werde, werde ich immer "wc -l" anstelle dieser Optionen verwenden, da es viel zu leicht zu merken ist.

$ grep -c ".*" [filename]

Beispielausgabe:

$ grep -c ".*" file01.txt
5

Mit GNU grep können Sie die folgende grep-Syntax verwenden:

$ grep -Hc ".*" [filename]

Hier ist eine andere Version des grep-Befehls zum Ermitteln der Zeilenanzahl.

$ grep -c ^ file01.txt
5

Beispielausgabe:

$ grep -Hc ".*" file01.txt
file01.txt:5

Einige weitere Befehle

Neben den obigen Befehlen ist es gut, einige selten verwendete Befehle zu kennen, um die Zeilenanzahl in einer Datei zu ermitteln.

1. Verwenden Sie den Befehl nl (Zeilennummerierungsfilter), um jede Zeile nummerieren zu lassen. Die Syntax für den Befehl lautet:

$ nl [filename]

Beispielausgabe:

$ nl file01.txt
     1	this is a sample
     2	file
     3	with
     4	some sample
     5	data

Nicht so direkter Weg, um die Zeilenzahl zu erhalten. Aber Sie können awk oder sed verwenden, um die Anzahl der letzten Zeile zu erhalten. Zum Beispiel:

$ nl file01.txt | tail -1 | awk '{print $1}'
5

2. Sie können auch vi und vim mit dem Befehl „:set number“ verwenden, um die Nummer in jeder Zeile wie unten gezeigt festzulegen. Wenn die Datei sehr groß ist, können Sie mit "Shift+G" zur letzten Zeile gehen und die Zeilenanzahl abrufen.

3. Verwenden Sie den cat-Befehl mit -n wechseln, um jede Zeile nummeriert zu bekommen. Auch hier können Sie die Zeilenanzahl von der letzten Zeile abrufen.

$ cat -n file01.txt
     1	this is a sample
     2	file
     3	with
     4	some sample
     5	data
$ cat -n file01.txt | tail -1 | awk '{print $1}'
5

4. Sie können auch Perl One Lines verwenden, um die Zeilenanzahl zu ermitteln:

$ perl -lne 'END { print $. }' file01.txt
5


Linux
  1. Wie fügt man mehrere Zeilen an eine Datei an?

  2. Zeilen in einer Datei zählen?

  3. Wie benenne ich eine Datei unter Linux um?

  4. So zählen Sie die Anzahl der Zeilen in einer Datei unter Linux (wc- und nl-Befehlsbeispiele)

  5. unix - Anzahl der Spalten in der Datei

So verknüpfen Sie eine Datei unter Linux per Symlink

So kehren Sie Zeilen in einer Datei zeichenweise in Linux um

So finden Sie die längste(n) Zeile(n) in einer Datei in Linux

So extrahieren Sie die Tar.xz-Datei in der Linux-Befehlszeile

Linux wc Command – Anzahl der Wörter, Zeilen, Zeichen in einer Datei

Unix Sed Tutorial:Dateizeilen anhängen, einfügen, ersetzen und zählen