This is the mail archive of the cygwin@sourceware.cygnus.com 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]

Re: When is \n converted to \r\n? and why?


At 04:18 PM 10/28/98 +0100, Urban Widmark wrote:
>(using cygwin32 19.3 & 19.1?)
>
>If I create a small example file:
>
>$ echo a > xx
>$ ls -l xx
>-rw-r--r--   1 544      everyone        3 Oct 28 15:43 xx
>
>it will contain "a\r\n" since I use the default (non-binary mounts)
>
>But if I do:
>$ echo a | wc -c
>      2
>
>I get only 2 chars ... ok, so the translation is done when writing to
>disk. Then something like this will fail:
>
>$ echo a | tr -d '\r' > yy
>$ ls -l yy
>-rw-r--r--   1 544      everyone        3 Oct 28 15:48 yy
>
>So how am I supposed to remove the \r from the echo output?  Well, I know
>non-cygwin ways to remove the \r, the issue is if this is a tr bug, a
>cygwin conversion bug or ...

Nope.  Its not a tr or any other kind of bug.  You said it yourself above.
Translation is done when writing to (and reading from) the disk.  How can
tr be expected to remove something that doesn't exist.  Remember, text/
binary modes have to do with how things are written to files on the disk,
not how they are handled in stdin, stdout, pipes, and whatever.


Larry
-
For help on using this list (especially unsubscribing), send a message to
"gnu-win32-request@cygnus.com" with one line of text: "help".


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