2014-11-18

shoorick: (Рыжий)
2014-11-18 10:41 am

Смотрим размер файла в бесконечном цикле

Для подсчёта количества байт, символов, слов и строк в юникосоподобных операционных системах предназначена программа wc. Иногда хочется запускать её, например, раз в секунду, чтоб следить за выполнением какого-нибудь долгого процесса.

Сделал по-быстрому скрипт, который просто вызывает wc и выводит его результат, пока пользователю не надоест и он не нажмёт Ctrl+C
#!/usr/bin/perl

print STDERR "Press ^C to exit\n";
my $cmd_line = 'wc ' . join ' ', @ARGV;
my $out;
while (1) 
    $out = `$cmd_line`;
    chomp $out;
    print "\cM$out";
    sleep 1;

Запустить можно, например, так:
wcloop -l some-big-file.txt

http://shoorick.ru/2014/11/18/watch-for-filesize-in-infinite-loop/


upd/15:48: товарищ подсказывает:
watch -n 1 wc -l?
И верно ведь посдказывает!