vi 에디터 사용시 윈도우에서 작업한 파일에 ^M 문자가 붙는경우가 있습니다.
정말 귀찮기 짝이 없죠. 아래 방법을 참고하시기 바랍니다. KLDP에서 퍼왔습니다.
1. vi(m)이 열린 상태
1.1 문자 치환 명령 이용
다음과 같이 문자 치환 명령으로 이 문자를 없애도록 합니다.
:1,$s/^M//g
물론 이것의 입력은 다음과 같이 하도록 합니다.
:1,$s/[Control]+v+m을 누른다.//g
1.2 파일포맷 변경
vim 5.0 이상에서는 다음과 같이 명령을 내리도록 합니다
:set fileformat=unix
혹은
:set ff=unix
그리고, 저장하고 종료합니다.
:wq
이와 반대로 끝에 ^M붙이려면 다음과 같이 합니다.
:set fileformat=dos
이전버전에서는 다음과 같이 합니다.
:set textmode
2. 프롬프트 상에서
2.1 dos2unix 이용
dos2unix와 unix2dos를 이용하여 변환할 수 있습니다.
다음과 같이 하면 ^M 문자가 없어집니다.
$ dos2unix [문서명](여러 파일의 경우 *.확장자)
그리고 다음과 같이 하면 ^M 문자가 생기죠.
$ unix2dos [문서명]
2.2 cat과 tr을 이용한 방법
다음과 같이 하면 해당 파일의 ^M 문자가 없어집니다.
$ cat dos-file | tr -d ^M > unix-file
2.3 perl 스크립트
다음과 같이 하면 여러파일을 한번에 바꾸게 됩니다.
# perl -i -pe 's/\015//g' *.html
3. 다른 에디터의 사용
pico 라는 에디터 아실겁니다. 기능은 별로 없지만 빠르고 간편하죠.
vi나 emacs에서 ^M으로 잡히는 것이 pico에서는 안 잡히는데,
파일을 pico로 열어서 다시 이 문서를 저장합니다.
그리고 vi나 emacs로 읽으면 ^M이 모두 없어진 것을 알 수 있습니다.
4. man 페이지의 ^M, ^H 문자
man 페이지를 일반 화일로 바꾸면 ^M, ^H 등이 생기는데(예, 한컴리눅스 ^H)
다음과 같이 하면 이 문자를 없애고 볼 수 있습니다.
다음은 ls의 예입니다.
4.1 ps 또는 pdf로 변환하기
man -t 변경 시킬 화일 > 변경후 화일명.ps
man -t 변경 시킬 화일 > 변경후 화일명.pdf
예)
man -t ls > ls.ps 또는 ls.pdf로 보시면 됩니다.
4.2 텍스로 변환하기
man 변환시킬화일 | col -b> 변환후 화일명.txt
예)
man ls | col -b > ls.txt
'Coding' 카테고리의 다른 글
색을 랜덤하게 뽑아서 출력합니다. (0) | 2017.01.07 |
---|---|
php predefined variables (0) | 2017.01.06 |
주민번호 생성원리 (0) | 2017.01.06 |
CGI Setting (0) | 2017.01.06 |
쉘프로그래밍 문법 (0) | 2017.01.06 |