From 8407b1f712b9885d741a1f5d01b8ca2d0fb37905 Mon Sep 17 00:00:00 2001 From: Mischa POSLAWSKY Date: Wed, 11 Sep 2019 16:51:55 +0200 Subject: [PATCH] progress after line count with negative --interval --- barcat | 10 ++++++---- t/t0002-usage_-h_|wc_-l.out | 2 +- 2 files changed, 7 insertions(+), 5 deletions(-) diff --git a/barcat b/barcat index b051353..1b780e6 100755 --- a/barcat +++ b/barcat @@ -85,12 +85,12 @@ my (@lines, @values, @order); $SIG{ALRM} = sub { show_lines(); - alarm $opt{interval} if defined $opt{interval}; + alarm $opt{interval} if defined $opt{interval} and $opt{interval} > 0; }; if (defined $opt{interval}) { $opt{interval} ||= 1; - alarm $opt{interval}; + alarm $opt{interval} if $opt{interval} > 0; eval { require Tie::Array::Sorted; @@ -120,6 +120,8 @@ while (readline) { } } push @lines, $_; + show_lines() if defined $opt{interval} and $opt{interval} < 0 + and $. % $opt{interval} == 0; } $SIG{INT} = 'DEFAULT'; @@ -284,9 +286,9 @@ turning long numbers like I<12356789> into I<12.4M>. Also changes an exponent I<1.602176634e-19> to I<160.2z>. Short integers are aligned but kept without decimal point. -=item -t, --interval[=] +=item -t, --interval[=(|-)] -Interval time to output partial progress. +Output partial progress every given number of seconds or input lines. An update can also be forced by sending a I alarm signal. =item -l, --length=[-][%] diff --git a/t/t0002-usage_-h_|wc_-l.out b/t/t0002-usage_-h_|wc_-l.out index 7273c0f..6f4247a 100644 --- a/t/t0002-usage_-h_|wc_-l.out +++ b/t/t0002-usage_-h_|wc_-l.out @@ -1 +1 @@ -25 +26 -- 2.30.0