Это - общее представление, но Вы могли использовать pv
управляйте для подсчета количества строк, поскольку они проходят и дисплей это на экран. pv
среди он - много переключателей, имеет a -l
переключатель, который считает каждую строку, как это проходит.
Здесь я использую некоторое время цикл для моделирования некоторых файлов от вывода SVN.
$ for i in $(seq 100); do echo "file$i"; sleep 2; done | pv -l -c >/dev/null
3 0:00:05 [0.99/s ] [ <=>
Это будет продолжать перезаписывать выходную строку как это:
18 0:00:36 [ 0/s ] [ <=> ]
24 0:00:47 [0.991/s ] [ <=> ]
Работает на меня, как и ожидалось:
cd /tmp
mkdir sub
echo pattern > {.,sub}/f{1,2}
echo nomatch > {.,sub}/f3
bzip2 {.,sub}/f2
/tmp $ grep -r pattern .
./f1:pattern
./sub/f1:pattern
/tmp $ bzgrep -r pattern .
./f1:pattern
./f2.bz2:pattern
./sub/f1:pattern
./sub/f2.bz2:pattern
Можете ли вы проверить и разместить вашу версию grep?
$ grep -V
grep (BSD grep) 2.5.1-FreeBSD