GNU/Linux >> Znalost Linux >  >> Linux

Existuje příkaz Unix / Linux pro počítání řádků za sekundu z stdin?

Řešení 1:

pv je váš příkaz! P ipe V iewer tiskne statistiky o datech, která jím procházejí, a může běžet kdekoli ve vašem kanálu, protože směruje stdin přímo do stdout. Například:

tail -f /var/log/nginx/access.log | pv --line-mode --rate > /dev/null

pv příkaz vypíše do stderr aktuální počet řádků za sekundu (výchozí je bajtů za sekundu), který se pro tento konkrétní zdroj dat (výchozí soubor protokolu Nginx) rovná příchozím webovým požadavkům za sekundu. Zajímají mě pouze počty, takže stdout převádím do /dev/null . Existují také možnosti jako:

  • -b (celkový počet řádků),
  • --average-rate (průměrná míra od spuštění) a
  • --timer (sleduje, jak dlouho potrubí jelo).

Pokud neřeknete --line-mode , bude počítat bajty, což pravděpodobně není to, co chcete pro protokoly serveru, ale mohlo by se hodit jinde.

Závěrečná poznámka:... | pv -lb > file.txt je hodně podobný ... | tee file.txt | awk '{printf "\r%lu", NR}' , což je také užitečné pro počítání řádků, ale pv volání je mnohem kratší, i když výstup není tak vzrušující — pv ve výchozím nastavení se aktualizuje každou sekundu, zatímco awk příkaz se průběžně aktualizuje.

Řešení 2:

Možná byste měli zkusit logtop ?

tail -f foobar.log |logtop

Řešení 3:

watch -n 3 "wc -l logfile"

manuálová stránka

sledovat - periodicky spouštět program, zobrazující výstup na celou obrazovku Ve výchozím nastavení se program spouští každé 2 sekundy; použijte -n nebo --interval k zadání jiného intervalu.


Linux
  1. Odstranění konkrétních řádků ze souboru v příkazovém řádku Linuxu

  2. UNIX / Linux:10 příkladů příkazů Netstat

  3. Jak počítat počet řádků v souboru v Linuxu (příklady wc a nl)

  1. Počítejte řádky, slova a znaky ze souboru v Linuxu

  2. 7 Příklady příkazů Linux Uniq k odstranění duplicitních řádků ze souboru

  3. Jak počítat řádky v souboru v UNIX/Linux

  1. Příkaz Wc v Linuxu (Počítání počtu řádků, slov a znaků)

  2. Příkaz wc pro Linux

  3. Příkaz Linux/Unix pro spojení N řádků vstupu s oddělovači?