Sparklines for Fish.
Unofficial port of spark.sh with --min, --max flags and improved performance.
Install with Fisher:
fisher install jorgebucaran/spark.fishYou want to visualize a range of numbers right in your terminal.
$ spark 1 2 4 8
▁▂▄█And here is a sequence of random numbers.
$ seq 64 | sort --random-sort | spark
▅▄▂▇▂▅▆▄▃█▂▅▄▁▆▆▃█▄▁▇▅▂▃▇▃▃▄▇▄▅▆▇▂▅▁▇▁▄▂▆▅▃█▇▆▆▅▆▃▄▄▇▃▂▇█▅▃█▁▂▂▆You can set the --min=<number> or --max=<number> values for your sparkline too.
$ seq 10 20 | spark
▁▂▂▃▄▄▅▆▇▇█
$ seq 10 20 | spark --min=0
▄▅▅▆▆▆▇▇▇██
$ seq 10 20 | spark --min=0 --max=30
▃▄▄▄▄▄▅▅▅▅▆Most of the examples in this section are derived from the original Wicked Cool Usage wiki, ported to Fish.
Line lengths.
$ awk \$0=length (functions --details spark) | spark
▃▆▃▃▃▄▃▂▄▄▄▅▂▄▅▂▆▁▅▂▅▅▃▂▂▆▃█▂▁▁▁Number of commits in a repo, by author.
$ git shortlog --summary | string match --regex "\d+" | spark
█▁▁▁▃▁▁▄▁▁▁Total run time of processes.
$ ps -A | string replace --filter --regex -- ".*(\d+):(\d+).*" "\$1 * 3600 + \$2 * 60" | bc | spark
▇▁▂▁▆▁▂▂▁▃▁▃▁▁▁▆▁▁▁▂▁▃▂▁▁▃▁▁▁▁▁▂▁▁▂▁▁▁▁▁▆▂▃▂▁▂▃▁▆▁▁▁▂▁▁▁▁▃▂▂▁▇▁▁▁▁▆LOC added per commit over the last week.
$ git diff @~7 --numstat | string replace --regex -- "(^\d+).*" "\$1" | spark
▁▁▁▁▁▁▁▁▂▁▁▁▁▁▁▂▂▃█▄▁▁A moving wave through the terminal.
for i in (seq 100)
for j in (seq (math $COLUMNS - 1))
math "ceil(6 * cos(($i + $j) * pi / 5))"
end | spark | read sparks
echo -n $sparks\r && sleep .1
end▆▄▂▁▂▄▆▇█▇▆▄▂▁▂▄▆▇█▇▆▄▂▁▂▄▆▇█▇▆▄▂▁▂▄▆▇█▇▆▄▂▁▂▄▆▇█▇▆▄▂▁▂▄▆▇█Spark is faster than spark.sh, reading and writing relatively large datasets under milliseconds.
$ time seq 2000 | sort --random-sort | spark
________________________________________________________
Executed in 27.21 millis fish external
usr time 26.40 millis 0.57 millis 25.83 millis
sys time 4.87 millis 1.58 millis 3.29 millis
$ time seq 2000 | sort --random-sort | spark.sh
________________________________________________________
Executed in 2.73 secs fish external
usr time 2.72 secs 0.33 millis 2.72 secs
sys time 0.02 secs 1.47 millis 0.02 secs