IT/Programing
^M 정체 및 제거 방법
착한아줌마
2019. 4. 26. 18:11
반응형
다른 운영체제 간에 파일을 전송하여 확인할 때 각 행의 끝에 ^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