Bash-скрипт для искрографиков
Искрографик (англ. sparkline) — это термин, который придумал Эдвард Тафти для обозначения миниатюрных (word-sized), но информационно-плотных графиков. Они показывают общую картину там, где нет места для размещения нормальных графиков с осями координат. Особенно полезными могут быть в таких областях как финансы и трейдинг, спортивные события, научный и медицинский анализ, системное администрирование.
Зак Холман (Zach Holman) из Github написал shell-скрипт Spark, который строит инфографику простой командой spark
прямо из шелла (достаточно добавить скрипт куда-нибудь в $PATH
).
Spark обрабатывает любой ряд чисел, разделённых пробелами запятыми и т.д. Вы можете дать ему цифры прямо из командной строки.
> spark 0 30 55 80 33 150
▁▂▃▅▂▇
Или указать любой источник данных. Например, вот искрографик землетрясений с магнитудой более 1,0 за последние 24 часа с официального сайта.
› curl http://earthquake.usgs.gov/earthquakes/catalogs/eqs1day-M1.txt --silent |
sed '1d' |
cut -d, -f9 |
tr "\n" ',' |
sed 's/ //g' |
spark
▅▆▂▃▂▂▂▅▂▂▅▇▂▂▂▃▆▆▆▅▃▂▂▂▁▂▂▆▁▃▂▂▂▂▃▂▆▂▂▂▁▂▂▃▂▂▃
▂▂▃▂▂▁▂▂▅▂▂▆▆▅▃▆
Другие примеры. Проcмотр количества коммитов в репозиторий на github, по автору.
› git shortlog -s |
cut -f1 |
tr "\n" ',' |
sed 's/ //g' |
spark
▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▁▃▁▁▁▁▁▁▁▁▂▁▁▅▁▂▁▁▁▂▁▁▁▁▁▁▁▁▂▁▁▁▁▁▁▁▁▁▁▁▁▁▁
Визуализация кода. Количество знаков в каждой строчке самого скрипта spark
, без учёта пустых строчек.
› awk '{ print length($0) }' spark |
grep -Ev 0 |
tr "\n" ',' |
spark
▁▁▁▁▅▁▇▁▁▅▁▁▁▁▁▂▂▁▃▃▁▁▃▁▃▁▂▁▁▂▂▅▂▃▂▃▃▁▆▃▃▃▁▇▁▁▂▂▂▇▅▁▂▂▁▇▁▃▁▇
▁▂▁▇▁▁▆▂▁▇▁▂▁▁▂▅▁▂▁▆▇▇▂▁▂▁▁▁▂▂▁▅▁▂▁▁▃▁▃▁▁▁▃▂▂▂▁▁▅▂▁▁▁▁▂▂▁▁▁▂▂
Другие интересные примеры использования spark
см. здесь.
Порт на Python
Порт на Си