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

I am not sure about what you want.
copy *.log result
  • Comment on Re: read files one by one in directory and redirct output to a file
  • Download Code

Replies are listed 'Best First'.
Re^2: read files one by one in directory and redirct output to a file
by afoken (Chancellor) on Jul 06, 2018 at 18:32 UTC
    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". ;-)
      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.
        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.

        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". ;-)