윈도우에서 작성하거나 수정한 스크립트나 문서를 리눅스에서 열다 보면, 오류가 생기는 경우가 있다.
이럴 때보면, 리눅스에서는 문장의 끝에 \n이 있을 뿐인데, 윈도우에서는 \r\n이 있다. \r은 16진수로 0D이고, \n은 16진수로 0A이다. 아래 파이썬 스크립트는 \x0d\x0a를 \x0a로 바꾼다. 윈도우에서 작성한 파이썬 스크립트가 리눅스에서 자꾸 에러가 나서 확인해보니, \r 개행 문자 때문이었다. ㅠㅠ
#!/bin/python3
#filename : dos2linux
#usage: dos2linux file_to_remove_cr
#copyright: public domain
# writer: madrabbit7골뱅naver.com
import sys
import os
MV_COMMAND = "/usr/bin/mv -rf "
RM_COMMAND = "/usr/bin/rm -rf "
def _dos2linux(infile):
f = open(infile, 'rb');
modified = f.read().replace(b"\x0d\x0a", b"\x0a")
f.close()
# os.system(RM_COMMAND + infile)
f = open(infile, 'wb')
f.write(modified)
f.close();
#new_filename = "_" + sys.argv[1]
_dos2linux(sys.argv[1])