On Tue, May 18, 2010 at 7:44 PM, Mark J. Reed <[log in to unmask]> wrote: > sed -E -e "$(echo -e 's/\r\n?/\n/g')" dosfile >mytext Actually, I take it back, that won't work. For one thing, echo turns the \n into a literal newline which sed doesn't like; for another, it wouldn't match anyway, since sed does its matching on a line-by-line basis and never actually sees the newline character for purposes of pattern matching. To get rid of CRs before LFs, you can do this: sed "$(echo -e 's/\r$//')" To turn bar CRs into LFs, you can do this: sed "$(echo -e 's/\r/\\\n/g')" But you have to know which one is needed. Perl special-cases the matching of newline at the end of a string so you can write one line to handle both cases. -- Mark J. Reed <[log in to unmask]>