^M이 뭔소린가 하는 분도 있을 것이다.
도스(윈도우)에서 텍스트 파일을 만들어서 유닉스 계열의 OS에서 읽으면 라인 맨 끝이 ^M이 하나식 붙는다.
눈에 거슬리는 거 빼면 그냥 텍스트 읽는 거에는 문제가 되지 않는다만, 이게 소스 일경우에는 문제가 커진다.
컴파일러는 ^M을 만나는 족족 에러로 뱉어주시기 때문이다.
어떻게 해결할까....
vi를 사용할 경우...
Vi 에서 Esc키를 눌러 명령 모드로 전환한 후, 다음 정규식으로 ^M을 치환한다.
복잡한 정규식은 아니고, 각행의 끝($)에 있는 ^M 기호를, 모두(g) 공백(//)으로 바꾸는(%s) 것이다.
주의할 점은 ^M 을 키보드로 치면 안된다. 특수문자이기 때문에 Ctrl+V, M 키를 눌러서 입력해야 한다.
Ctrl키를 누른 상태에서 v, m 이라는 2글자를 소문자로 연속으로 입력하면 된다.
안되면... ㅡㅡ;;;;;
쉘에서 dost2unix라는 유틸을 사용해 보자.
input.txt에서 ^M 다 떼어네 output.txt로 만들어 준다.
얼라려? 그런데 또 이놈이 설치가 안되어 있는 경우도 있다. 헐~~~
요렇게 설치하면 된다.
에혀... 요즘 스타워즈도 개봉했는데 영화본지도 오래됬는데... 같이 갈 사람이 없구나...
도스(윈도우)에서 텍스트 파일을 만들어서 유닉스 계열의 OS에서 읽으면 라인 맨 끝이 ^M이 하나식 붙는다.
눈에 거슬리는 거 빼면 그냥 텍스트 읽는 거에는 문제가 되지 않는다만, 이게 소스 일경우에는 문제가 커진다.
컴파일러는 ^M을 만나는 족족 에러로 뱉어주시기 때문이다.
어떻게 해결할까....
vi를 사용할 경우...
Vi 에서 Esc키를 눌러 명령 모드로 전환한 후, 다음 정규식으로 ^M을 치환한다.
복잡한 정규식은 아니고, 각행의 끝($)에 있는 ^M 기호를, 모두(g) 공백(//)으로 바꾸는(%s) 것이다.
주의할 점은 ^M 을 키보드로 치면 안된다. 특수문자이기 때문에 Ctrl+V, M 키를 눌러서 입력해야 한다.
Ctrl키를 누른 상태에서 v, m 이라는 2글자를 소문자로 연속으로 입력하면 된다.
안되면... ㅡㅡ;;;;;
쉘에서 dost2unix라는 유틸을 사용해 보자.
input.txt에서 ^M 다 떼어네 output.txt로 만들어 준다.
얼라려? 그런데 또 이놈이 설치가 안되어 있는 경우도 있다. 헐~~~
요렇게 설치하면 된다.
에혀... 요즘 스타워즈도 개봉했는데 영화본지도 오래됬는데... 같이 갈 사람이 없구나...