Сведения о вопросе

DUNKER

02:42, 17th August, 2020

Счетчик строк stdout в реальном времени?

Просмотров: 413   Ответов: 3

Есть скрипт, который что-то делает и в stdout выплевывает строчки. (например tail -f /var/log/messages).

Мне содержимого этого stdout не нужно, но нужно в реальном времени смотреть сколько строчек было выплюнуто в stdout.


Есть такие утилиты или скрипты? а то так не хочется самостоятельно велосипед писать.

UPD. решенно силами awk и символа возврата каретки
tailf /some/file.log | awk 'BEGIN {C=0} ; {printf "\r"C++" "}'

UPD2 hacked до использования встроенных переменных:
tailf /some/file.log | awk '{printf "\r"NR}'



  Сведения об ответе

SSESION

18:44, 13th August, 2020

Можно сделать
cat -n — чтобы номера строк выводились
grep или sed, чтобы убрать всё кроме номеров строк

И потом всё это в пайп объединить


  Сведения об ответе

PIRLO

05:30, 6th August, 2020

Всё же проще таки изобрести колесо.
Набросок (в качестве идеи):
tail -f /some/path/file.log >/tmp/tail.txt &
[1] 17855
while true; do wc -l /tmp/tail.txt;sleep 3;done
29 /tmp/tail.txt
29 /tmp/tail.txt
29 /tmp/tail.txt
44 /tmp/tail.txt
72 /tmp/tail.txt


  Сведения об ответе

crush

13:21, 26th August, 2020

есть утилитка pv, которая делает это.
debian.pro/527


Ответить на вопрос

Чтобы ответить на вопрос вам нужно войти в систему или зарегистрироваться