git.shiar.nl
/
barcat.git
/ blobdiff
commit
grep
author
committer
pickaxe
?
search:
re
summary
|
shortlog
|
log
|
commit
|
commitdiff
|
tree
raw
|
inline
| side by side
compile regular expression to -f (without /x)
[barcat.git]
/
barcat
diff --git
a/barcat
b/barcat
index e6b22b6872becc110a6fe3934077c51e61851b8a..6d5610996a00f7b7c614d67a26956ac162fe2ff4 100755
(executable)
--- a/
barcat
+++ b/
barcat
@@
-18,7
+18,10
@@
GetOptions(\%opt,
'color|c!',
'C' => sub { $opt{color} = 0 },
'field|f=s' => sub {
'color|c!',
'C' => sub { $opt{color} = 0 },
'field|f=s' => sub {
- $opt{anchor} = /^[0-9]+$/ ? qr/(?:\S*\h+){$_}\K/ : $_ for $_[1];
+ eval {
+ local $_ = $_[1];
+ $opt{anchor} = /^[0-9]+$/ ? qr/(?:\S*\h+){$_}\K/ : qr/$_/;
+ } or die "$@ for option $_[0]\n";
},
'human-readable|H!',
'interval|t:i',
},
'human-readable|H!',
'interval|t:i',
@@
-68,7
+71,7
@@
if (defined $opt{interval}) {
$SIG{INT} = 'IGNORE'; # continue after assumed eof
my (@lines, @values);
$SIG{INT} = 'IGNORE'; # continue after assumed eof
my (@lines, @values);
-my $valmatch = qr/$opt{anchor} ( \h* -? [0-9]* \.? [0-9]+ |)/x;
+my $valmatch = qr/$opt{anchor} ( \h* -? [0-9]* \.? [0-9]+
(?: e[+-]?[0-9]+ )?
|)/x;
while (readline) {
s/\r?\n\z//;
s/^\h*// unless $opt{unmodified};
while (readline) {
s/\r?\n\z//;
s/^\h*// unless $opt{unmodified};
@@
-196,6
+199,7
@@
for example I<-f'(\d+)'> for the first digits anywhere.
Format values using SI unit prefixes,
turning long numbers like I<12356789> into I<12.4M>.
Format values using SI unit prefixes,
turning long numbers like I<12356789> into I<12.4M>.
+Also changes an exponent I<1.602176634e-19> to I<160.2z>.
=item -t, --interval[=<seconds>]
=item -t, --interval[=<seconds>]