Zeilenanzahl und Input anzeigen? (Spezieller Parameter von "wc"?)

D

don_corleone

Hallo,

ich lasse mir mit "more file1 | wc -l" die Anzahl der Zeilen von file1 ausgeben, aber gibt es auch eine elegante Möglichkeit wie man sich den Inhalt von einer Datei oder anderen Input anzeigen lassen kann und gleich darunter die Zeilenanzahl sieht? Beim Kommando wc fand ich leider keine Option auch die Quelle wieder auszugeben. Wie würdet ihr das lösen?
 
Vielleicht auch ganz sexy:
Code:
cat -n file
Das nummeriert dir die Zeilen durch.

{edit}
@nikster77 deines hat den gleichen Effekt wie ein
Code:
wc -l file
Nur, dass der Dateiname in der Ausgabe fehlt ;)
 
Zuletzt bearbeitet:
Danke für die ganzen Antworten, aber wie mach ich das ganze, wenn ich den Input z.B. von "ps" bekomme und nicht aus einer Datei?
 
Mh etwas unschön, vielleicht kriegt man das mit der Standardein-/ausgabe noch besser hin:
Code:
ps > .tmp && cat .tmp && wc -l .tmp && rm .tmp

Mit zählen gehts einfacher:
Code:
ps | cat -n
Allerdings taucht da der cat-Befehl mit auf.
 
Zuletzt bearbeitet:
Code:
ps aux | grep [wasduwillst] | wc -l
Aber den Ar** pudern kannst du dir selber?
 
Code:
awk '{print}END{print NR}' $file
oder
Code:
ps | awk '{print}END{print NR}'
 
{edit}
@nikster77 deines hat den gleichen Effekt wie ein
Code:
wc -l file
Nur, dass der Dateiname in der Ausgabe fehlt ;)

Das ist nicht das, was der Threadersteller will, nämlich eine Ausgabe und darunter die Zeilenanzahl der Ausgabe. Auch mein Mittel der Wahl wäre hier 'tee'.
 
Code:
ps aux | grep [wasduwillst] | wc -l
Aber den Ar** pudern kannst du dir selber?
Den Befehl kenne ich natürlich, habe ich auch im ersten Posting geschrieben, das Problem ist halt, wenn ich "ps | wc -l" mache, dass ich nur die Zeilenanzahl zurückbekomme, jedoch nicht die eigentlich Ausgabe von ps!
 
Dann führe ps doch 2 mal aus:
Code:
ps aux | grep foo && ps aux | grep foo | wc -l
 
Dann führe ps doch 2 mal aus:
Code:
ps aux | grep foo && ps aux | grep foo | wc -l
Aber dann könnte es doch theoretisch sein, dass die 2 Rückgabewerte schon unterschiedlich sind, oder? Oder werden durch das && die beiden Befehle wirklich absolut zeitgleich gestartet?
 
Nein, dazu duerfte man nur ein einzelnes & machen. Dann werden sie zeitgleich gestartet. (Natuerlich werden sie nicht absolut zeitgleich gestartet, aber so zeitnah aneinander, wie es einem halt moeglich ist, das zu beeinflussen.)
 
Aber dann könnte es doch theoretisch sein, dass die 2 Rückgabewerte schon unterschiedlich sind, oder? ? Oder werden durch das && die beiden Befehle wirklich absolut zeitgleich gestartet?
Nein.
&& bewirkt, dass der zweite Befehl unmittelbar nach erfolgreicher Ausführung des ersten Befehls ausgeführt wird. Die Zeit dazwischen sind millisekunden (wenn nicht, nanosekunden).
Das sollte eigentlich keinen Einfluss auf die Rückgabewerte haben.
 
Ja aber wenn der erste Befehl sehr komplex ist, dann können auch mehrere Sekunden dazwischen liegen und die Zeilenanzahl stimmt nicht mehr mit dem eigentlichen Ergebnis überein. Oder?
 
Mehrere Sekunden? Was hast du für einen Prozessortakt? 2hz? ;)
Probiers doch aus. Die Zeilenanzahl kommt im selben Augenblick, wie die Ausgabe von ps.
Wenn mehrer Sekunden dazwischen liegen würden, müssste der erste Befehl schon ein ganzes script sein. Und zwar ein SEHR grosses.
(Befehle sind ja eigentlich auch scripte)
 

Ähnliche Themen

Server-Monitoring mit RRDTool

Zurück
Oben