Am Sat, 13 Sep 2014 12:53:48 -0600
schrieb Bob Proulx <[email protected]>:
> 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