windowsmacosformattingnewlineutility

Converting newline formatting from Mac to Windows


I need a conversion utility/script that will convert a .sql dump file generated on Mac to one readable on Windows. This is a continuation of a problem I had here. The issue seems to be with newline formatting in text files, but I can't find a tool to make the conversion...


Solution

  • Windows uses carriage return + line feed for newline:

    \r\n
    

    Unix only uses Line feed for newline:

    \n
    

    In conclusion, simply replace every occurence of \n by \r\n.
    Both unix2dos and dos2unix are not by default available on Mac OSX.
    Fortunately, you can simply use Perl or sed to do the job:

    sed -e 's/$/\r/' inputfile > outputfile                # UNIX to DOS  (adding CRs)
    sed -e 's/\r$//' inputfile > outputfile                # DOS  to UNIX (removing CRs)
    perl -pe 's/\r\n|\n|\r/\r\n/g' inputfile > outputfile  # Convert to DOS
    perl -pe 's/\r\n|\n|\r/\n/g'   inputfile > outputfile  # Convert to UNIX
    perl -pe 's/\r\n|\n|\r/\r/g'   inputfile > outputfile  # Convert to old Mac
    

    Code snippet from:
    http://en.wikipedia.org/wiki/Newline#Conversion_utilities