반응형
다른 운영체제 간에 파일을 전송하여 확인할 때 각 행의 끝에 ^M가 보이는 경우가 있다
예를 들어 윈도우에서 리눅스로 파일을 옮긴 경우 ^M가 보이는데 이 때이 ^M을 어떻게든 처리해야한다
우선 생기는 이유는 각 운영체제간의 개행문자 방식이 다르기 때문으로, 파일이 전송될 때 각 OS의 텍스트 처리방법으로 변환이 되지 않으면 개행문자 차이로 인해 깨져보이는 것
윈도우는 CRLF, 리눅스에서는 LF만 개행문자로 사용한다 (CR, LF 모르면 더보기 클릭)
더보기
CR(캐리지 리턴): 커서의 위치를 해당 행 맨 앞으로
LF(라인 피드): 현재 위치에서 바로 아래 행으로 이동
리눅스에서 파일이 해당 문제에 있을 때 해결책으로 두 가지가 있다
1. dos2unix 명령어
가장 간편할 수 있다
아래 명령어를 수행하면 리눅스가 인식하는 개행문자로 변경된다 (\r\n)
# dos2unix [filename]
2. vi 편집기를 사용하여 수정
vi로 해당 파일 열어서 깨진 개행문자를 직접 지운다
아래는 vi에서 깨진 개행문자를 공백으로 치환하는 명령
:%s/^M//g
여기서 ^M은 "shift+6" "M"이 아니고 "Ctrl+v+m"을 입력하면 됨
끝
- 참조
https://jink1982.tistory.com/123
'IT > Programing' 카테고리의 다른 글
[Python] 2.x버전에서 3.x버전으로 포팅 시 주의점 (0) | 2019.07.01 |
---|---|
[Python] 파이썬에서 리눅스 명령어쓰기 (0) | 2019.06.26 |
[Bash Shell Script] 함수 쓰기 (0) | 2018.08.29 |
[Python] 개행문자 삭제 (0) | 2018.08.08 |
[Python] Python 2.4에서 2.7 설치 (0) | 2018.05.30 |