[Linux] vi editor - ^M 문자 제거
by 배부른코딩로그💡 윈도우에서 리눅스 서버로 복사 붙여넣기 시 보여지는 ^M 문자를 다뤄보자!
목표
- ^M 문자가 발생하는 이유를 설명할 수 있다.
- ^M 문자를 삭제할 수 있다.
소스코드나 프로퍼티 파일을 윈도우 PC에서 편집하다가 리눅스 서버로 옮길 경우가 있다. 이 때, 옮긴 파일을 vi 에디터를 열면 ^M 이라는 단어가 줄 끝 부분마다 붙어있는 것을 심심치 않게 볼 수 있다.
# vi temp.txt Hello, Linux Server!^M This is test file :)^M
^M 문자는 대체 왜 표시되는걸까?
그 이유는 리눅스와 윈도우의 개행 문자 표현식이 다르기 때문이다.
리눅스는 개행 문자가 LF = ‘\n’ = 0x0A이고, 윈도우는 CRLF = ‘\r’ + ‘\n’ = 0x0D 0x0A 인데,
파일 안에 LF와 CRLF가 섞여있으면, vi 에디터는 CRLF를 ^M 문자로 표시한다.
이를 제거하기 위해서는 아래의 명령어를 vi 에디터에서 실행하자.
:%s/^M//g
위 명령어를 날릴 때, 주의할 점은 ^M 문자는 "Ctrl + V + M"을 입력해야 한다는 것이다.
난생 처음 이 명령어를 작성하면 이게 별게 아닌데 골때린다 ㅎㅎ..
Last Updated. 2021. 11. 02.
블로그의 정보
배부른코딩로그
배부른코딩로그활동하기
CodeLife배부른코딩로그 님의 블로그입니다.