I find cat file | grep foo simpler because it reads Left to Right.
Tyler
On Fri, Dec 4, 2020 at 1:34 PM Andy Kosela <akosela(a)andykosela.com> wrote:
On 12/4/20, arnold(a)skeeve.com
<arnold(a)skeeve.com> wrote:
Dan Cross <crossd(a)gmail.com> wrote:
This has always struck me as particularly elegant
in scripts. Consider:
cat "$@" | whatever
(Or you may prefer `cat $* | whatever`)
Now one's script can take any number of file arguments or stdin, even if
the filter does not.
I think Dan has hit the heart of the matter. People are used to using
cat for multiple files to start pumping data down a pipeline, so they
continue to do so even when there's only one file.
The classic example is:
$ cat file | grep foo
instead of the simpler:
$ grep foo file
It appears cat(1) and pipe(7) are deeply ingrained in people's brains.
--Andy