On Sun, 04 Oct 2009 03:03:27 +1100 Sam Watkins <s...@nipl.net> wrote: > find -name '*.c' | xargs cat | cc -
On Sat, Oct 03, 2009 at 11:46:16AM -0700, Bakul Shah wrote: > Your example doesn't hang (and if it does, your xargs is broken). hm sorry, I meant: cat `find -name *.c` | cc - > A common use of many tools is in a pipeline and having to type - every time > can get annoying. We could differentiate tools that work on stdin from tools that work on a list of files. Or each tool could default to one or the other. If a tool normally works on a list of files (like cat), it can also use stdin: cat - If a tool normally works on stdin (like sed), it can use a list of files: grep pattern : foo bar baz By the way, grep is even more inconsistent than usual: it only adds the file: prefix to matching lines when there are 2 or more files! I don't see how this can be fixed in unix without breaking umpteen million shell scripts. But perhaps this could be corrected in plan 9 or inferno which are still more experimental OSes; or we could keep it in mind for "plan 10". Sam