파일에서 "^M"을 제거하는 방법은 무엇입니까? [복사]

파일에서 "^M"을 제거하는 방법은 무엇입니까? [복사]

diff에서 비교한 두 개의 "동일한" 파일이 있는데 모든 줄이 다르다는 것을 보여줍니다. 파일을 살펴본 후 파일 중 하나가 ^M모든 줄의 끝에 있다는 것을 알 수 있습니다. 이것을 어떻게 삭제하나요? 나는 다음 sed명령을 시도했습니다.

sed -i '' -E 's/^M//g'

tr명령은 다음과 같습니다. (작동하더라도 내부 편집을 원하므로 원하지 않습니다.)

tr -d '^M'

그리고 이 perl명령은:

perl -pi -e 's/^M//g'

그러나 이 중 어느 것도 내용을 바꾸지 않습니다.

답변1

얼마전에 이런 기능을 발견했어요켄롭's.vimrc그의도트 파일 저장소:

" Removes the ^M character from the end of every line
function! RemoveM()
    :%s/^M$//ge
endfunction

" Replaces the ^M character with a carraige return native to the system
function! ReplaceM()
    :%s/^M/\r/ge
endfunction

따라서 이러한 기능을 쉽게 사용하고 Vim을 사용하여 이러한 ^M문자를 처리할 수 있습니다.

관련 정보