in reply to Re^2: Slicing the output of a command
in thread Slicing the output of a command

Why cat the whole file just to discard all but the first four lines:

my @foo = `head -4 very_large_file`;

With the rise and rise of 'Social' network sites: 'Computers are making people easier to use everyday'
Examine what is said, not who speaks -- Silence betokens consent -- Love the truth but pardon error.
"Science is about questioning the status quo. Questioning authority".
In the absence of evidence, opinion is indistinguishable from prejudice.
I'm with torvalds on this Agile (and TDD) debunked I told'em LLVM was the way to go. But did they listen!

Replies are listed 'Best First'.
Re^4: Slicing the output of a command
by marioroy (Prior) on Jul 10, 2015 at 04:00 UTC

    +1 BrowserUk. I'm not sure if the behavior is the same in Windows, but the 'cat command' receives a PIPE signal and exits once count lines have been read by the 'head command'.

      Windows has no signals, so no SIGPIPE there.

      Alexander

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

        You're correct, however, marioroy's point holds. When head has read its 4 lines it closes the pipe and effectively prevents cat (or type or copy etc.) from reading further.

        (That doesn't stop it from be a Useless use of cat though.)