1441 Stimmen

Wie zählt man Zeilen in einem Dokument?

Ich habe Zeilen wie diese, und ich möchte wissen, wie viele Zeilen ich tatsächlich habe...

09:16:39 AM  all    2.00    0.00    4.00    0.00    0.00    0.00    0.00    0.00   94.00
09:16:40 AM  all    5.00    0.00    0.00    4.00    0.00    0.00    0.00    0.00   91.00
09:16:41 AM  all    0.00    0.00    4.00    0.00    0.00    0.00    0.00    0.00   96.00
09:16:42 AM  all    3.00    0.00    1.00    0.00    0.00    0.00    0.00    0.00   96.00
09:16:43 AM  all    0.00    0.00    1.00    0.00    1.00    0.00    0.00    0.00   98.00
09:16:44 AM  all    0.00    0.00    0.00    0.00    0.00    0.00    0.00    0.00  100.00
09:16:45 AM  all    2.00    0.00    6.00    0.00    0.00    0.00    0.00    0.00   92.00

Gibt es eine Möglichkeit, sie alle mit Linux-Befehlen zu zählen?

1voto

Majid Azimi Punkte 5241

Wie andere gesagt haben, ist wc -l die beste Lösung, aber für zukünftige Referenz können Sie Perl verwenden:

perl -lne 'END { print $. }'

$. enthält die Zeilennummer und der END-Block wird am Ende des Skripts ausgeführt.

1voto

Wenn Sie auf einem BSD-basierten System wie macOS sind, empfehle ich die gnu Version von wc. Sie stolpert nicht über bestimmte Binärdateien, wie es bei BSD wc der Fall ist. Zumindest ist die Leistung noch halbwegs brauchbar. Andererseits ist BSD tail langsam wie ............zzzzzzzzzz...........

Was AWK betrifft, gibt es nur eine kleine Einschränkung - da es unter der Standardannahme von Zeilen, d.h. \n, arbeitet, wird es, wenn Ihre Datei zufällig keinen abschließenden Zeilenumbruch hat, sie um 1 mehr zählen als entweder BSD oder GNU wc. Außerdem, wenn Sie Dinge ohne Zeilenumbrüche umleiten, wie z.B. echo -n, je nachdem, ob Sie im Abschnitt END { } oder FNR==1 messen, wird die NR unterschiedlich sein.

1voto

dansch Punkte 5578

Ich habe gerade ein Programm gemacht, um dies zu tun (mit node)

npm install gimme-lines
gimme-lines verbose --exclude=node_modules,public,vendor --exclude_extensions=html

https://github.com/danschumann/gimme-lines/tree/master

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X