programing

이메일에서 내 파일에 계속 나타나는 ^M은 무엇입니까?

goodsources 2023. 6. 30. 22:18
반응형

이메일에서 내 파일에 계속 나타나는 ^M은 무엇입니까?

TextMate와 관련이 있을 수도 있지만, 저희는 소규모 팀에서 작업하고 있으며 거의 동일한 파일의 전체 파일 충돌 문제가 있습니다. 한 분기에서 파일은 각 줄에 ^M이 추가되어 있습니다.

이것은 무엇입니까?^M캐릭터가 해야 할 일이고, 그것은 어디에서 오는 것일까요?

당사의 개발자들은 Windows/Mac에서 emacs를 사용하고, Mac에서 TextMate를 사용하며, Mac에서 coda를 사용하기도 하며, 때로는 wp-admin 텍스트 편집기를 사용하기도 합니다.

그 중 하나로 인해 이 문제가 발생한 적이 있는 사람이 있습니까?

Ingit-config, 설정core.autocrlftrueGit가 플랫폼에 맞게 줄 끝을 자동으로 변환하도록 하려면, 예를 들어 글로벌 설정에 대해 다음 명령을 실행합니다.

git config --global core.autocrlf true

다른 사용자가 줄 바꿈 문자를 올바르게 변환하지 않습니다.

그들이 그들의 CRLF를 사랑하기 때문에 나는 그들이 윈도우 사람들이라고 생각합니다.Unix는 LF를 사랑하고 Mac은 Unix 방식으로 보여지기 전까지 CR을 사랑했습니다.

^M을 소멸시키려면 다음을 입력합니다.

git config --global core.whitespace cr-at-eol

학점: https://lostechies.com/keithdahlby/2011/04/06/windows-git-tip-hide-carriage-return-in-diff/

^M이라0x0d즉, 캐리지 리턴 문자입니다.의 디스플레이가 스플레디다처럼 보인다면,

선 1^M선 2^M

가 " 면러파일윈도에서우온틀다것니림습없임에그은▁on▁the다▁then▁sequence니틀▁must▁the습▁file"이기 때문에 파일은 에서 온 . 왜냐하면 윈도우의 표준적인 줄 바꿈입니다.CR LF(0x0d 0x0a에 표준 ▁of▁consists▁)▁solely▁sequence다▁new로 구성되어 있습니다.LF유니케스에서

파일이 Mac OS 9 또는 이전 시스템에서 가져온 것이라면 다음과 같이 볼 수 있습니다.

선 1^M 선 2^M

캐리지 리턴 후에는 라인 피드가 없기 때문입니다.

Mac OS에서 Android Studio(JetBrains IntelliJ IDEA)를 사용하고 있는데 GitHub에서 꺼내기 요청에 일부 파일에 ^M이 나타나기 시작한 것이 문제였습니다.제게 효과가 있었던 것은 파일의 줄 구분자를 바꾸는 것이었습니다.

편집기에서 원하는 파일을 열고 파일로 이동한 다음구분 기호로 이동한 다음 사용자에게 가장 적합한 옵션을 선택합니다(나에게는 LF - 유닉스OS X(\n)).

다음 기사에 따르면 이 문제는 운영 체제 간에 행 끝이 혼동된 결과입니다. http://jonathonstaff.com/blog/issues-with-line-endings/

자세한 내용은 여기에서 확인할 수 있습니다. https://www.jetbrains.com/help/idea/configuring-line-separators.html#d84378e48

enter image description here

도스 스타일의 줄 끝과 유닉스 스타일의 차이와 관련이 있습니다.위키백과 기사를 확인해 보세요.도움이 되는 dos2unix 도구를 찾거나 간단한 스크립트를 작성하여 직접 수정할 수 있습니다.

편집: 여기서 다음 Python 샘플 코드를 찾았습니다.

string.replace( str, '\r', '' )

쿼리 대체 대신 M-x delete-trailing-white space를 사용할 수도 있습니다.

^MEmacs의 줄 끝에는 캐리지 리턴(\r) 다음에 줄 피드(\n)가 표시됩니다.Windows(윈도우)에서 한 사람이 파일을 편집하고(여기서 줄의 끝은 캐리지 리턴 문자와 새 줄 문자의 조합) Unix 또는 Linux(여기서 줄의 끝은 새 줄 문자만)에서 편집하는 경우 종종 이러한 현상이 나타납니다.

일반적으로 문자 조합은 해롭지 않습니다.소스 제어를 사용하는 경우 줄이 마법처럼 조정되도록 텍스트 파일 체크인 형식을 구성할 수 있습니다.또는 파일을 자동으로 "수정"하는 체크인 및 체크아웃 트리거를 사용할 수 있습니다.또는 dos2unix와 같은 도구를 사용하여 수동으로 조정할 수도 있습니다.

다음을 당신의 안에 넣으십시오.~/.emacs또는동등)

(defun dos2unix ()
  "Replace DOS eolns CR LF with Unix eolns CR"
  (interactive)
    (goto-char (point-min))
      (while (search-forward "\r" nil t) (replace-match "")))

그러면 간단히 사용할 수 있을 것입니다.M-x dos2unix.

저는 얼마 전에 이 문제를 접했습니다. 리턴을 ^M에서 합니다.Ctrl-Q Ctrl-M(이것은 리터럴 ^M을 만듭니다) Emacs 내에서 이 문자를 처리할 수 있습니다.저는 다음과 같은 방식으로 무언가를 했습니다.

M-x replace-string [ENTER] C-q C-m [ENTER] \n [ENTER]

시스템에 dos2unix 유틸리티가 설치되어 있지 않으면 Windows Endline 문자를 제거할 수 있습니다.

vi ~/dos2unix.bash:

다음과 같은 내용으로

#!/bin/bash
tr -d '\r' < $1 > repl.tmp
mv -f repl.tmp $1

~/.bashrc에서 다음 행을 추가합니다.

alias 'dos2unix=~/dos2unix.bash'

신청중

dos2unix file_from_PC.txt

file_from_PC.txt의 줄 끝에 있는 ^M자를 제거합니다.당신은 고양이를 사용하여 그것들을 가지고 있는지 확인할 수 있습니다:

cat -v file_from_PC.txt

모두가 언급했듯이.다른 줄 끝 스타일입니다. MacOSX는 Unix 줄 끝 - 즉, LF(줄 피드)를 사용합니다.

Windows에서는 CR(캐리지 리턴)과 LF(라인 피드)를 모두 라인 끝으로 사용합니다.문제의 원인이 되는 창과 Mac을 모두 사용하고 있기 때문입니다.

Windows에서 파일을 만든 다음 Mac으로 가져오면 줄 끝에 이러한 ^M 문자가 표시될 수 있습니다.

제거하려는 경우 전자 메일에서 이 작업을 매우 쉽게 수행할 수 있습니다.^M 문자를 강조 표시하고 복사한 다음 ^M을 쿼리 대체하기만 하면 됩니다.

편집: 도움이 될 수 있는 다른 링크.링크

이것은 특정 유형의 줄 바꿈 스타일을 사용하도록 emac을 구성하는 데 도움이 됩니다.http://www.emacswiki.org/emacs/EndOfLineTips

참고 항목:

^M(전자 메일) 숨기기

^M자를 제거하고 팀에 다시 제출하려면 주의하십시오.나중에 캐리지 리턴이 없는 파일을 볼 수도 있습니다.

emacs 명령 하나로 ^Ms를 제거하는 가장 간단한 방법 중 하나는 다음과 같습니다.

    C-x h C-u M-| dos2unix    

분석:

    C-x h: select current buffer
    C-u: apply following command as a filter, redirecting its output to replace current buffer
    M-| dos2unix: performs `dos2unix` [current buffer]

*nix 플랫폼에는dos2unix즉시 사용할 수 있는 유틸리티(Mac 포함)brewWindows에서도 널리 사용할 수 있습니다(MSYS2, Cygwin, 사용자 기여 등).

의 해결책은 이 Emacs Wiki 기사에 있는 다음과 같은 ellip 함수를 사용하는 것이었습니다.

 (defun dos2unix ()
      "Not exactly but it's easier to remember"
      (interactive)
      (set-buffer-file-coding-system 'unix 't) )

기능 실행M-x dos2unix버퍼에서 파일을 저장합니다.^M사라질 것입니다.

언급URL : https://stackoverflow.com/questions/1822849/what-are-these-ms-that-keep-showing-up-in-my-files-in-emacs

반응형