watch -n1 ./barchart -w 80 data"barchart" is a very simple shell script that doesn't do much on its own.
You can do so much. And the model of chaining known, stable programs together is elegant.
But it feels hard to write and maintain good code with. Even in this barchart program there’s a string of awk within this code.
So it got me wondering: is there any high quality text editor or IDE support for shell scripts? Perhaps one that even understands or looks at the inputs and outputs to other programs and understands hen you’re writing awk or sed or whatnot inside it?
And what about the concept of a higher level ergonomic language that compiles to a shell script?
The difference is that fish's keywords are closer to programming languages' (all blocks end with `end`, no esac nor fi), fish kind of looks like Ruby.
data source | processing | plot
E.g. a csv, cut or awk, then either print the data or plot. The features I suggested make this workflow easier, but I don't know how common that is. I'd be interested to know how other people would use this.To answer your question, I mainly use this for counting lines of code:
cloc --by-file --csv src/ | awk -F, '/^C/{print$5,$2}' | barchart | less
(The above pipeline counts the lines of C code in files in the src directory.)EDIT: Actually, the script can pretty easily support alternative delimiters. Let's say you wanted "," as a delimiter. Instead of writing:
barchart data
Just write: sed 's/,/ /' data | barchart
(This sed invocation will only replace the first comma, so it won't mess with your labels.)Just wanted to mention that gnuplot also has a "dumb" output option that will generate ascii plots in the terminal. Thay is usually my go-to for this use case.
But this showHN project pretty cool too
I had some fun creating a minimal (7 lines) bash implementation for bars using reverse video mode awhile ago.
https://eskerda.com/minimal-bash-progress-bar-ansi-escape-se...
Nice work!
No fluff. Straight to the point. Just Works.
Congrats to the author.
on a tangent I was playing with https://github.com/piccolomo/plotext for a bit (especially on a data analysis server connected over ssh it's quite useful, if you don't have the bandwidth to start a jupyter notebook).