OS vi, vim ^M 제거
2021.04.02 00:56
vi, vim ^M 제거
윈도우에서 작성한 파일을 Unix/Linux상에 올리면 개행 문자가 깨져서 ^M가 보이는 경우를 봤을 것이다.
이것은 윈도우에서는 CRLF 가 개행인데 Linux/Unix에서는 LF가 개행이라 나타나는 현상으로 보면 된다.
[CR,LF 뜻]
라인피드(LF : Line Feed) => 현재 위치에서 바로 아래로 이동
캐리지리턴(CR: Carriage return) => 커서의 위치를 앞으로 이동
설명은 이정도로 하고 제거 방법을 알아 보자
vi, vim에서 제거 하는 방법 |
결론부터 말하면 다음과 같이 하면 된다.
:%s/^M//g |
위에서 ^M는 ^+M 이 아니고 Ctrl + v + m 이다.
vi에서 입력한 각 명령어에 대해 설명 하겠다.
: --> vi,vim에서 명령어를 입력 하겠다는 신호 :%s --> 문자열을 치환하겠다는 명령어 :%s/^M --> ^M 문자열을 치환하겠다 :%s/^M// --> ^M 문자열을 공백으로 치환하겠다. :%s/^M//g --> 해당 문서 전체 ^M 문자열을 공백으로 치환하겠다. |
윈도우에서 Unix/Linux로 파일 올릴때 ^M 안생기게 하는 방법 |
운영체제 마다 줄바꿈 정의가 다르다.
각 운영체제 마다 정의를 살펴 보자.
윈도우/DOS : CRLF 조합으로 줄바꿈을 정의 Unix/Linux/C : LF 만으로 줄바꿈을 정의 |
이래서 윈도우에서 작성 된 것을 Unix/Linux 계열로 올리면 vi로 편집했을 때 ^M이 붙는 것을 확인 할 수 있다.
물론 ftp로 올릴 때 방식이 텍스트/2진 어떤 것을 선택하느냐에 따라 달라질 수 있다.
텍스트 방식으로 올리면 데이터 변환이 생겨 /r/n -> /n 으로 된다.
2진 모드로 올릴때는 변환이 생기지 않아 윈도우에서 작성된 파일이 컴파일이 안되거나 script작성 된것이 동작 안할 수가 있다.
댓글 0
번호 | 제목 | 날짜 | 조회 수 |
---|---|---|---|
39 | Restore Database And Rename Database Files Example | 2019.03.26 | 64065 |
38 | 아파치 2.2.29 버젼에서 SSLProtocol 중 TLSv1.2로 설정 | 2019.02.27 | 4429 |
37 | 윈도우용 wget | 2017.09.28 | 4017 |
36 | Linux 보안및 성능향상을 위한 sysctl.conf 설정 | 2018.02.20 | 3980 |
35 | UNIX,Linux Command 비교 | 2018.02.27 | 2617 |
34 | Parameters for Web Server Plug-Ins | 2018.05.10 | 2436 |
33 | AIX SYSTEM CHECK SCRIPT | 2020.04.10 | 2433 |
32 | usage: raspistill [options] - Image parameter commands | 2018.11.16 | 1266 |
31 | HPUX Trust Mode | 2018.02.21 | 1052 |
30 | NetBackup Port Open | 2019.11.22 | 1006 |
29 | command | 2017.11.01 | 966 |
28 | HP-UX 보안가이드라인 | 2018.02.14 | 944 |
27 | hpux ndd tuning | 2018.02.28 | 923 |
26 | HP-UX networking - 11.31 10G NIC | 2019.03.19 | 912 |
25 | Apache나, Tomcat 버젼 노출 취약점 | 2019.12.09 | 896 |
24 | 외부로 통신이 되지 않을 때 가지고 있는 CD-ROM으로 yum 사용하는 방법 | 2020.08.26 | 701 |
23 | SUN 솔라리스 보안취약점 조치 방안 | 2018.03.05 | 547 |
22 | AIX 내부적인 Memory 관리 방법 | 2020.04.15 | 386 |
21 | hpux 소프트웨어 설치및 제거 | 2018.02.27 | 371 |
20 | CSQL 인터프리터 사용방법 | 2019.11.04 | 357 |