Daily Notebook

[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.

 

반응형

블로그의 정보

배부른코딩로그

배부른코딩로그

활동하기