http://fishbowl.pastiche.org/2015/04/02/simplicity_isnt_simple/
Tag: command-line
gitsh: An interactive shell for git
The Log File Navigator: Log file analyzer for the terminal with support for Linux & Mac
Create command-line applications with both human and computer friendly output in Perl
https://perlancar.wordpress.com/2015/03/13/pericmd-039-creating-api-friendly-cli-applications-with-parseable-outputs/ ᔥ
Outputs in various tabular formats…
% ./list-files -v
+----------------+------+------+
| name | size | type |
+----------------+------+------+
| hello | 1131 | f |
| list-files | 988 | f |
| list-files~ | 989 | f |
| mycomp | 902 | f |
| mycomp2a | 608 | f |
| mycomp2b | 686 | f |
| mycomp2b+comp | 1394 | f |
| pause | 4096 | d |
| perl-App-hello | 4096 | d |
+----------------+------+------+
…Or JSON format:
% ./list-files --json
[200,"OK",["hello","list-files","list-files~","mycomp","mycomp2a","mycomp2b","mycomp2b+comp","pause","perl-App-hello"],{}]
Using Named Pipes and Process Substitution
http://vincebuffalo.com/2013/08/08/the-mighty-named-pipe.html ᔥ
I’ve been fascinated by UNIX pipes recently. I had never even heard of the mkfifo command before this. It looks pretty cool.
whiptail: Display dialog boxes from shell scripts
Tutorial here: http://xmodulo.com/create-dialog-boxes-interactive-shell-script.html
Whiptail Man page here: http://linux.die.net/man/1/whiptail ᔥ
Link: An Introduction to Unix
http://www.oliverelliott.org/article/computing/tut_unix/
Ummmm… the introduction to An Introduction to Unix contains a link to a YouTube video of N.W.A.’s F*** tha Police. I haven’t read all of the the guide, but that should give you some idea of what might lurk behind the links. You have been warned.
Cgrep: Source code search tool (similar to ack) written in C
- Multi-threaded with configurable number of jobs.
- Blazing fast: Running on a single core it is nearly as fast as GNU grep, up to 6x times faster than ack.
- Multi-line pattern searches.
- Colors highlight of tokens and strings matching.
- Recursive searches: Support of language filters and pruning directories.
- Standard searches: through Boyer–Moore and Posix Regex.
- Code Tokenizer: Searches as prefix, infix, suffix and edit distance (Levenshtein distance).
- Context-aware filters distinguish among code, comments and literals in different languages.
- Languages support for Awk, C, Cpp, Chapel, Coffee, Csharp, Css, CMake, D, Erlang, Fsharp, Go, Haskell, Html, Java, Javascript, Latex, Lua, Make, OCaml, ObjectiveC, Perl, PHP, Python, Ruby, Scala, Tcl, Text, Shell, Verilog, VHDL, Vim.
- Semantic searches through wildcards and combinators. _, _1, _2…, $, $1, $2…, ANY, KEY, STR, CHR, NUM, HEX, OCT, OR. E.g. “_1(_1 && $)” search for move constructors, “struct OR class _ { OR : OR <” search for class declarations.
- Customizable output with custom format string, XML and JSON back-ends.
jq: Command-line JSON processor written in portable C that can be downloaded as a single binary
From the jq website:
jq is like sed for JSON data – you can use it to slice and filter and map and transform structured data with the same ease that sed, awk, grep and friends let you play with text.