$ fgrep blah <foo.txt | consolidate | dump
$ preproc <foo.txt | fgrep blah | consolidate | dump
$ additional <foo.txt | preproc | fgrep blah | consolidate | dump
# vs
$ cat foo.txt | fgrep blah | consolidate | dump
$ cat foo.txt | preproc | fgrep blah | consolidate | dump
$ cat foo.txt bar.txt | additional | preproc | fgrep blah | consolidat
+e | dump
$ real_stream | additional | preproc | fgrep blah | consolidate | dump
First of all, you're using a shell that's not braindead. Take the time to absorb its expressiveness.
$ < foo.txt fgrep blah | consolidate | dump
$ < foo.txt preproc | fgrep blah | consolidate | dump
$ < foo.txt additional | preproc | fgrep blah | consolidate | dump
Yes, that's valid code, go ahead and try. And you still don't need to edit more than one place to add multiple files.
$ < foo.txt fgrep blah | consolidate | dump
$ < foo.txt preproc | fgrep blah | consolidate | dump
$ <(cat foo.txt bar.txt) additional | preproc | fgrep blah | consolida
+te | dump
$ real_stream | additional | preproc | fgrep blah | consolidate | dump
You don't need crutches in
bash. If you need them, something is wrong with your tools.
Makeshifts last the longest.