X-Git-Url: http://gb7djk.dxcluster.net/gitweb/gitweb.cgi?p=spider.git;a=blobdiff_plain;f=perl%2Fwatchdbg;h=2b1986a738bd4e4236b582ac4d1957ce6d2f4696;hp=a497eff92957f5bb269c7c1ce062f08c9acb83cd;hb=2fc6c64fec914c8f6b739beee9f0f8a180ea6123;hpb=cefb965615ed9b6f39adcc1e16c5555cd171e5ea diff --git a/perl/watchdbg b/perl/watchdbg index a497eff9..2b1986a7 100755 --- a/perl/watchdbg +++ b/perl/watchdbg @@ -37,11 +37,20 @@ my $fp = DXLog::new('debug', 'dat', 'd'); my $today = $fp->unixtoj(time()); my $fh = $fp->open($today) or die $!; my $nolines = 1; -$nolines = shift if $ARGV[0] =~ /^-?\d+$/; -$nolines = abs $nolines if $nolines < 0; -my @patt = @ARGV; +my @patt; my @prev; +while (@ARGV) { + my $arg = shift; + if ($arg =~ /^-+(\d+)/) { + $nolines += $1; + next; + } + usage(), exit(0) if $arg =~ /^-+[h\?]/i; + push @patt, $arg; +} + + # seek to end of file $fh->seek(0, 2); for (;;) { @@ -98,3 +107,21 @@ sub printit } } exit(0); + +sub usage +{ + print << "XXX"; + + usage: watchdbg [-nnn lines before] [|!]... + + You can have more than one with an implicit 'and' between them. All + are caseless. It's recommended to put 'not' (!) first in any list. + Don't forget that you are doing this in a shell and you may need to quote your + s. + + watchdbg -2 progress + + will display any line containing 'progress' and also the two lines before that. + +XXX +}