in reply to Re: read files one by one in directory and redirct output to a file
in thread read files one by one in directory and redirct output to a file

copy *.log result

That looks like Microsoft. On Unix-based systems, you would use this:

cat *.log > result

Alexander

--
Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)

Replies are listed 'Best First'.
Re^3: read files one by one in directory and redirct output to a file
by Marshall (Canon) on Jul 08, 2018 at 00:24 UTC
    On Windows, I believe the equivalent to your Unix command would be:
    type *.log > result
    On Unix, I think copy is cp. On either O/S it is possible to concatenate a bunch of binary files together into a single result file.
    copy (cp) works with binary files. type or cat is designed to work with text files.
      cat is the abbreviation for 'concatenate' and will do binary files just fine. cp will complain if it's instructed to copy multiple source files and the target is not a directory. Windows 'copy' is different from both.
        Well I guess..
        cp [option]... [-T] source destination
        Where -T means: Treat destination as a normal file. I don't work much with Unix nowadays.
      copy (cp) works with binary files. type or cat is designed to work with text files.

      Note that on *NIX/POSIX, there is generally no distinction between "binary" and "text" files. cp doesn't concatenate multiple files (-T, from your reply below, makes no difference here) - cat is "the" *NIX tool for concatenating files. If I guess that by "binary" vs. "text" you maybe mean "block-by-block" instead of "line-by-line", then that is course a valid point in regards to performance. But at least GNU Coreutils' cat is optimized to read and write files block-by-block, not line-by-line, when it doesn't need to do any line-by-line processing - see its simple_cat function.

        If I guess that by "binary" vs. "text" you maybe mean "block-by-block" instead of "line-by-line", then that is course a valid point in regards to performance.

        that is what I meant. I defer to your Unix knowledge.

      On Windows, I believe the equivalent to your Unix command would be:
      type *.log > result

      No, it is not. type treats Ctrl-Z (ASCII 26) as end-of-file marker. cat writes its entire input to STDOUT. cat can handle binary files, type can't.

      X:\>perl -E "say qq[Hello\cZWorld!]" > foo
      
      X:\>type foo
      Hello
      X:\>perl -pe 1 < foo
      Hello→World!
      
      X:\>
      

      Alexander

      --
      Today I will gladly share my knowledge and experience, for there are no sweeter words than "I told you so". ;-)