On Sat, Aug 21, 2004 at 07:07:21PM -0400, Igor Pechtchanski wrote: > On Sat, 21 Aug 2004, Hannu E K Nevalainen wrote: > > > Note that there is a difference depending on how you create the file; I'll > > hand over to cygwin-specialists to explain (or ponder on) why it has to be > > this way. > > > > I'm running BINARY mounts all over, still I get the behaviour below. > > [snip] > > === a) === > > $ cd # cd to $HOME > > $ cat >tmp > > Line 1 > > Line 2 > > > > Line 3 > > Line 4 > > Line 5 > > $POSIX="" - [EMAIL PROTECTED] ~ bash (P)PID=(852)2340, s=0 > > $ od -w8 -t x1z tmp > > 0000000 4c 69 6e 65 20 31 0d 0a >Line 1..< > > 0000010 4c 69 6e 65 20 32 0d 0a >Line 2..< > > 0000020 0d 0a 4c 69 6e 65 20 33 >..Line 3< > > 0000030 0d 0a 4c 69 6e 65 20 34 >..Line 4< > > 0000040 0d 0a 4c 69 6e 65 20 35 >..Line 5< > > 0000050 0d 0a >..< > > 0000052 > > $ grep '1$' tmp > > $ d2u tmp # dos2unix > > tmp: done. > > $ grep '1$' tmp > > Line 1 > > > > === b) === > > $ cd > > $ ls -l tmp2 > > ls: tmp2: No such file or directory > > $ for (( i=1 ; i<6 ; i++ )) do echo >>tmp2 "Line $i";done > > $ od -w7 -t x1z tmp2 > > 0000000 4c 69 6e 65 20 31 0a >Line 1.< > > 0000007 4c 69 6e 65 20 32 0a >Line 2.< > > 0000016 4c 69 6e 65 20 33 0a >Line 3.< > > 0000025 4c 69 6e 65 20 34 0a >Line 4.< > > 0000034 4c 69 6e 65 20 35 0a >Line 5.< > > 0000043 > > $ grep '1$' tmp > > Line 1 > > > > $ rm tmp tmp2 > > This has to do with the way "cat" behaves. By default, Windows sends > textmode line endings from the console. Most applications (including od, > echo, bash, etc) compensate for this somehow, except "cat", which *always* > replicates the output character by character, doing no processing > *whatsoever*. AFAIK, this is by design. > > Case in point: > > $ od -c > <Enter><Ctrl-D> > 0000000 \n > 0000001 > $ cat | od -c > <Enter><Ctrl-D> > 0000000 \r \n > 0000002 > $ perl -pe 1 | od -c > <Enter><Ctrl-D> > 0000000 \n > 0000001 > $ # Note, however: > $ perl -pe 1 | cat | od -c > <Enter><Ctrl-D> > 0000000 \n > 0000001 > $
See also <http://www.cygwin.com/ml/cygwin/2003-04/msg02268.html> I once sent a patch to a transient coreutils maintainer but there was no followup. Pierre -- 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/