Am Sat, 13 Sep 2014 12:53:48 -0600 schrieb Bob Proulx <b...@proulx.com>:
> Dennis Williamson wrote: > > Bob Proulx wrote: > > > { for i in file[12] ; do cat "$i" ; done ;} > both > > There's no need for the curly braces and the last semicolon. > > Of course you are totally right. I was distracted by the subshell as > a concept. For re-stitching file with redirections a subshell isn't > needed and a list is convenient. > > > Note that the loop in this case can be replaced by > > > > cat file[12] > both > > > > I failed to spot that in my earlier reply. > > Me too. (But usually these are from more complex examples that can't > be simplified as much. It is just that all of the details aren't > shown.) Actually things are more complicated. I do need the /dev/stdout part. I obiously don't have the problem with `cat' but with some other program that doesn't write to stdout per se and expects a -o parameter for the output file. And this program just accepts one input file. I merely used the first `cat' in my example to make my point. So what I wanted was $ for i in file[12] ; do program -i "$i" -o /dev/stdout ; done > outfile which I assumed to be elegant and would do as I expected except it didn't and I really thought it could have been a bug. That's why I reported it here. Thanks for all replys, Ralf