3 ms·
1. Unix pipes are 1 dimensional grep ”^#” dat1 | foobar > dat2 whereas the key thing about this idea is that real pipes can be multidimensional grep ”^#” dat
by dedalus 10y ago
1. Unix pipes are 1 dimensional
grep ”^#” dat1 | foobar > dat2
whereas the key thing about this idea is that real pipes can be multidimensional
grep ”^#” dat1 | foobar
| |
| |
snafu | stitch > dat2
2. This system treats ">" as a program in itself and verifies a "program descriptor" before it trashes the next one in the pipe
3. Unix pipes give you the error code of the first stopped component in the pipeline whereas in this model you can hook up instrumentation/statistics to any stage of the pipe
- ephemeris 10y agounix pipes are multidimensional via fifo. I have done like follows when I want a poor mans "GROUP BY" mkfifo p1 cat data | tee p1 | awk '{print $5}' | sort | uniq -c | join -1 5 -2 1 -o 1.1,2,2.1,1.2,2.2,2.3 - p1
- GauntletWizard 10y agoUnix supports arbitrary pipe chaining - You can use pipe or mkfifo to create a series of pipes, and a version of grep that output non-matching lines to an additional file descriptor or to a named fifo to separate out the records. Fundamentally, this is a tooling issue - Unix shells expose the one-dimensional workflow well.
- patrickg_zill 10y agoNot quite sure what you mean. Are you referring to the ability to use something like "tee" in Unix? https://en.wikipedia.org/wiki/Tee_%28command%29 https://en.wikipedia.org/wiki/Tee_%28command%29