This is the mail archive of the cygwin mailing list for the Cygwin project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

tee piping to head gives error message


As described in the Subject.  Though it seems that everything works OK; tee
just gives and error message under some circumstances.


/tmp> cat stafflist.htm | tee ttt | head > /dev/null
tee: standard output: Broken pipe
tee: write error
/tmp> wc ttt
  556  1738 21441 ttt
/tmp> wc stafflist.htm
  556  1738 21441 stafflist.htm
/tmp> cmp stafflist.htm ttt
/tmp>


So the file that tee write looks good and the write error is only to the
pipe.


tee: standard output: Broken pipe
     10      38     484
tee: write error
/tmp> cat stafflist.htm | tee ttt | head -50 | wc
tee:      50     167    1832
standard output: Broken pipe
tee: write error
/tmp> cat stafflist.htm | tee ttt | head -125 | wc
tee: standard output: Broken pipe    125     343    4103

tee: write error
/tmp> cat stafflist.htm | tee ttt | head -50 | wc
tee: standard output: Broken pipe     50     167    1832

tee: write error
/tmp> cat stafflist.htm | tee ttt | head | wc
tee: standard output: Broken pipe
     10      38     484
tee: write error
/tmp> cat stafflist.htm | tee ttt | head -126 | wc
tee: standard output: Broken pipe    126     345    4121

tee: write error
/tmp> cat stafflist.htm | tee ttt | head -127 | wc
tee: standard output: Broken pipe    127     349    4153

tee: write error
/tmp> cat stafflist.htm | tee ttt | head -130 | wc
    130     359    4309
1 /tmp> cat stafflist.htm | tee ttt | head -800 | wc
    556    1738   21441
/tmp>


So head seems to be passing on the number of lines that ones asks it to pass
on.


/tmp> cat stafflist.htm | tee ttt | tail > /dev/null
/tmp> cat stafflist.htm | tee ttt | tac > /dev/null
/tmp> cat stafflist.htm | tee ttt | cat > /dev/null
/tmp> cat stafflist.htm | tee ttt | sed -e 's/^/-/' > /dev/null
/tmp> cat stafflist.htm | tee ttt | wc > /dev/null
/tmp> cat stafflist.htm | tee ttt | head > /dev/null
tee: standard output: Broken pipe
tee: write error
/tmp> cat stafflist.htm | head > /dev/null
/tmp> cmp stafflist.htm ttt
/tmp>


So it seems to be specific to piping from tee to head.


/tmp> wc stafflist.htm
  556  1738 21441 stafflist.htm
/tmp> cat stafflist.htm | tee ttt | head -50 > /dev/null
tee: standard output: Broken pipe
tee: write error
/tmp> cat stafflist.htm | tee ttt | head -120 > /dev/null
tee: standard output: Broken pipe
tee: write error/tmp>
/tmp> cat stafflist.htm | tee ttt | head -125 > /dev/null
tee: standard output: Broken pipe
tee: write error
/tmp> cat stafflist.htm | tee ttt | head -126 > /dev/null
/tmp> cat stafflist.htm | tee ttt | head -130 > /dev/null
/tmp>


So it seems that when given enough lines/bytes, there is no error message.
But the number of lines/bytes at which the error disappears does not seem to
be constant.


Everything should be up to date.  cygcheck.out is attached.


- Barry

Attachment: cygcheck.out
Description: Binary data

--
Unsubscribe info:      http://cygwin.com/ml/#unsubscribe-simple
Problem reports:       http://cygwin.com/problems.html
Documentation:         http://cygwin.com/docs.html
FAQ:                   http://cygwin.com/faq/

Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]