vi에디터 ^M 문자 제거 , 일괄제거 정규식 안내

윈도우와 리눅스는 환경이 세삼 다르다고 느끼는게 한글이나 인코딩등의 문제가 생길 경우인데요. 윈도우 피씨에서 맥으로 파일을 넘길경우 한글 조합이 깨진다던지, 터미널에서 파일을 열어보면 이상한 문자가 표기가 되어있다던지 하는 문제인데요. 이번 경우도 그런 경우입니다.

 

vi에디터 내 ^M 문자 현상

윈도우에서 작성한 파일을 바로 터미널에서 vi에디터로 열게 되면 해당 문자가 보이게 되는데요. 이게 캐리지 리턴(엔터문자)의 표기문제로 리눅스에서는 ^M으로 보이게 됩니다. 이게 문제인게 이상태 그대로 사용을 하면 문제가 안생기는데 수정을 할때에는 글자 그대로 저장이 되면서 오류가 생기게 됩니다.

 

^M 일괄제거 방법 안내

해당 문자를 일일히 한개씩 삭제를 하기에는 너무 일이 많겠죠 커맨드 명령어 : 를 호출한 후 아래 명령어를 타이핑하시면 일괄로 삭제하실 수 있습니다.

:%s/^M(Ctrl+v+m)//g
:s/(Ctrl+v+m)//g

해당 정규식에 대해서 잠간 설명하자면, ^M으로 보이는 부분은 그대로 입력하시는게 아니라 컨트롤 + 브이 + 엠 으로 입력을 해주셔야 합니다.

 

내용에 대한 간단한 설명입니다.

: vi,vim에서 명령어를 입력
:%s 문자열을 치환 명령어
:%s/^M  ^M 문자열을 치환
:%s/^M// ^M 문자열을 공백으로 치환.
:%s/^M//g 해당 문서 전체 ^M 문자열을 공백으로 치환.

 

리눅스에서는 정규식으로 바로 처리를 할  수가 있더라구요. 참고 하셔서 개행 문자 잘  지우시기 바랍니다.

 

참고블로그 

 

 

 

다른 유용한 글 보기

 

2022.06.27 - [MAC/활용팁] - 윈도우컴퓨터에서 맥으로 원격접속하는 방법, VNC뷰어 사용법 알아보기

2022.06.29 - [일상다반사] - EV6가 빠졌던 선재도 갯벌 차량이 빠질 수 밖에 없는 이유

2022.06.30 - [IT정보센터/Javascript & jQuery] - Javascript에서 undefined 처리, 핸들링 방법 안내

2022.06.26 - [블로그] - 워드프레스 환경그대로 복사, 플러그인등 모두 동일한 환경으로 카피