X-Git-Url: http://git.shiar.nl/barcat.git/blobdiff_plain/6b86aaa55f57299482705d47e972c3c70676b311..f4423db9671d9650e7a39482ffc935d373e72ef5:/barcat diff --git a/barcat b/barcat index 1c567f4..82cf7d6 100755 --- a/barcat +++ b/barcat @@ -47,6 +47,9 @@ GetOptions(\%opt, ); }, 'markers|m=s', + 'spark!' => sub { + $opt{spark} = [split //, '⎽▁▂▃▄▅▆▇█']; + }, 'stat|s!', 'unmodified|u!', 'width|w=i', @@ -164,6 +167,12 @@ sub sival { while ($nr <= $#lines) { $nr >= $opt{hidemax} and last if defined $opt{hidemax}; my $val = $values[$nr]; + + if ($opt{spark}) { + print $opt{spark}->[ ($val - $minval) / $maxval * $#{$opt{spark}} ]; + next; + } + if (length $val) { my $color = !$opt{color} ? undef : $val == $order[0] ? 32 : # max @@ -176,9 +185,11 @@ while ($nr <= $#lines) { printf '%-*s', $len + length($val), $line; print $barmark[$_] // '-' for 1 .. $size && (($values[$nr] || 0) - $minval) * $size + .5; say ''; - +} +continue { $nr++; } +say '' if $opt{spark}; } show_lines(); @@ -355,6 +366,11 @@ Any kind of database query with counts, preserving returned alignment: echo 'SELECT count(*),schemaname FROM pg_tables GROUP BY 2' | psql -t | barcat -u +Earthquakes worldwide magnitude 1+ in the last 24 hours: + + https://earthquake.usgs.gov/earthquakes/feed/v1.0/summary/1.0_day.csv | + column -tns, | graph -f4 -u -l80% + External datasets, like movies per year: curl https://github.com/prust/wikipedia-movie-data/raw/master/movies.json | @@ -393,7 +409,7 @@ Activity of the last days (substitute date C<-v-{}d> on BSD): ( git log --pretty=%ci --since=30day | cut -b-10 seq 0 30 | xargs -i date +%F -d-{}day ) | - sort | uniq -c | awk '$1--' | graph + sort | uniq -c | awk '$1--' | graph --spark =head1 AUTHOR