도스용 텍스트 파일을 유닉스 시스템에서
vi 로 읽으면.. 파일 포맷의 차이로..
^M같은 문자가 각 라인의 끝에 보이게 되지요..
아래에 tip으로 올려주신 분이 있는데..
편집명령으로 삭제하는 방법을 가르쳐 드릴께요..
vi 편집 명령은 ed 에디터의 명령 형식을 따르는데..
자세한건 찾아 보시고..^^;;
명령은 어떻게 하느냐면요..
:1,$ s/^M//
이렇게 하면 되는데.. 무슨 의미냐면..
"1,$" 는 1번째 줄부터 끝줄까지('$'표시가 끝줄을 의미하죠)
"s/^M//" 는 '^M'문자를 search해서 null로 바꾸란 의미지요..
여기서 '^M'문자를 vi에서 어떻게 입력하는가가 중요한데..
('^M'은 ^ + M 이 아니고..하나의 특수 기호를 나타내는 문자랍니다.)
Control-V를 누르고 M을 누르면 '^M'문자가 입력 된답니다..
이 명령은 지정한 줄마다 "^M"하나씩 삭제 하게 되는데..
한줄에 여러개의 '^M' 문자가 있을 경우에는..
:1,$ s/^M//g
처럼 해주시면 됩니다.. 여기서 g는 global..
전부 바꾸란 말이 되는 겁니다..
이런 식으로 하면..'^M'이나 다른 '^H'라든가 기타 특수문자들도
vi에디터에서 고칠수 있겠죠?..^^
vi 로 읽으면.. 파일 포맷의 차이로..
^M같은 문자가 각 라인의 끝에 보이게 되지요..
아래에 tip으로 올려주신 분이 있는데..
편집명령으로 삭제하는 방법을 가르쳐 드릴께요..
vi 편집 명령은 ed 에디터의 명령 형식을 따르는데..
자세한건 찾아 보시고..^^;;
명령은 어떻게 하느냐면요..
:1,$ s/^M//
이렇게 하면 되는데.. 무슨 의미냐면..
"1,$" 는 1번째 줄부터 끝줄까지('$'표시가 끝줄을 의미하죠)
"s/^M//" 는 '^M'문자를 search해서 null로 바꾸란 의미지요..
여기서 '^M'문자를 vi에서 어떻게 입력하는가가 중요한데..
('^M'은 ^ + M 이 아니고..하나의 특수 기호를 나타내는 문자랍니다.)
Control-V를 누르고 M을 누르면 '^M'문자가 입력 된답니다..
이 명령은 지정한 줄마다 "^M"하나씩 삭제 하게 되는데..
한줄에 여러개의 '^M' 문자가 있을 경우에는..
:1,$ s/^M//g
처럼 해주시면 됩니다.. 여기서 g는 global..
전부 바꾸란 말이 되는 겁니다..
이런 식으로 하면..'^M'이나 다른 '^H'라든가 기타 특수문자들도
vi에디터에서 고칠수 있겠죠?..^^