윈도우 환경에서 작성한 파일을 유닉스/리눅스 환경에서 읽으면 에러가 나는 경우가 있다.
vi를 이용해 해당 파일을 열어보면 ^M 이라는 글자가 찍혀있는 것을 볼 수 있는데,
^M의 존재가 이러한 에러의 원인이 되는 경우가 있다.
에러가 왜 발생하는지를 알기 위해서 먼저 아래 내용을 이해하자.
(*개행문자 = 줄바꿈 문자)
DOS(도스) 개행문자 = 윈도우 개행(Newline)문자
= \r\n
= CR + LF
= 캐리지리턴 + 라인피드
= Window EOL
UNIX(유닉스) 개행문자 = 리눅스 개행문자
= \n
= \LF(라인피드)
= Unix EOL
위와 같이 서로 다른 환경에서는 개행문자 표현이 다르다는 것을 알 수 있다.
표현이 다르기 때문에 윈도우의 파일의 내용을 리눅스에서 제대로 이해할 리가 없다.
결국 이 부분을 수정하기 위해서 아래와 같은 작업이 꼭 필요하다! (생각보다 간단하다)
유닉스 텍스트(Unix Text)로 변환 명령
0. cmd창을 실행
1. vim [file_name: 자신의 파일명].pl 입력
- 이렇게 파일을 vim 에디터로 불러온다
2. Esc키를 누른 후
:se ff=unix 입력
3. :wq 입력
- 위의 명령으로 파일 저장 + vim을 종료한다
- 기본적인 vim 사용에 관하여: (blog.lael.be/post/7321)
- 내용 출처: mwultong.blogspot.com/2007/05/vim-vi-dos-cr-lf-to-unix-newline.html
'> 프로그래밍 기초' 카테고리의 다른 글
[Ubuntu] E: Unable to locate package 에러를 발견했을 경우 (1) | 2021.01.06 |
---|---|
[Framework] 프레임워크는 라이브러리보다 큰 개념 (0) | 2020.10.27 |
[이미지 파일] JPEG, PNG, GIF, WEBP, SVG 각각 언제 쓰면 좋을까? (0) | 2020.10.25 |
댓글