Linux and modern OS X Macs end their lines with the same character, the LF. To cut down on confusion, think of OS X Macs and Linux as being interchangeable. They are interchangeable in terms of the end-of-line character. Whilse Microsoft Windows does things yet another way. Under Microsoft Windows, lines end with a combination of 2 characters – a CR followed by a LF. Symbolically, this is represented as CRLF or carriage return, line feed.
There are issues when you cooperate with others using different operating systems. So I write two Python script to resolve this issue. They also deals with BOM in text files which is automatically added by Windows platforms.
From Linux to Windows:
1 2 3 4 5 6 7 #encoding:utf-8 import os, re for f in os.listdir('.'): if re.match(r'.*\.txt$', f): print f c = open(f).read() open(f+'1', 'w').write(re.sub(r'(?<!\r)\n', r'\r\n', c))
From Windows to Linux:
1 2 3 4 5 6 7 8 #encoding:utf-8 import os, re for f in os.listdir('.'): if re.match(r'.*\.txt$', f): print f c = open(f).read() c = c[1:] if len(c) > 0 and ord(c) == 0xfeff else c open(f, 'w').write(re.sub(r'\r', r'', c))