> Take for example this one-liner:
> [program listing...]
> In this condensed program of 4 lines, the following happens:
Right a "one" liner I see...
once it gets above roughly 100 characters you are no longer allowed to call it a "one liner"
and style note putting the pipe"|" at the end of the command instead of the beginning acts as a natural break and lets you avoid the backslash escaped newline nonsense.
If we're nitpicking the number of lines, I'm way more confused because there is no obvious way that I can see for that to be 4 lines. Either it's a (very long) one liner, or it is as rendered a 5 line example (with the lines starting with curl, jq, sqlite3, sqlite3, and xargs). Where is 4 coming from?
(To be clear, this sounds like a complaint, and it kind of is, but I think the article is actually quite good if we just ignore that one basically irrelevant detail)
Also, Perl's diamond operator does the DWIM thing with files/stdin, and it's used directly as a line iterator. It handles multiple files (or none) in a row, which is a nice plus :) https://perlmaven.com/the-diamond-operator
Many of us are no doubt just waiting for the webmaster of www.example.com to realize that there's a marvellous Bobby Tables SQL injection exploit in there. (-:
Being a good neighbour involves a bit more than reading from standard input and being about to send JSON to standard output; and there's more to be said about the field parsing, including that fields must not contain interior whitespace, for which vis(1) encoding is a good idea.
> Many of us are no doubt just waiting for the webmaster of www.example.com to realize that there's a marvellous Bobby Tables SQL injection exploit in there. (-:
8 comments
[ 3.6 ms ] story [ 32.3 ms ] threadonce it gets above roughly 100 characters you are no longer allowed to call it a "one liner"
and style note putting the pipe"|" at the end of the command instead of the beginning acts as a natural break and lets you avoid the backslash escaped newline nonsense.
vs(To be clear, this sounds like a complaint, and it kind of is, but I think the article is actually quite good if we just ignore that one basically irrelevant detail)
Some time ago I wrote a bunch of tips to make more ergonomic bash scripts: https://raimonster.com/scripting-field-guide/index.html
Also, Perl's diamond operator does the DWIM thing with files/stdin, and it's used directly as a line iterator. It handles multiple files (or none) in a row, which is a nice plus :) https://perlmaven.com/the-diamond-operator
Being a good neighbour involves a bit more than reading from standard input and being about to send JSON to standard output; and there's more to be said about the field parsing, including that fields must not contain interior whitespace, for which vis(1) encoding is a good idea.
Thankfully, there'll never be one!
https://en.wikipedia.org/wiki/Example.com