^M
vimrc에 계속 문자가 표시되고 구성이 깨집니다.
:digraphs
vim 내에 입력 하면 @LightnessRacesinOrbit가 연결된 digraph-table이 표시됩니다.
preg_replace('/[\x01]/', ' ' ,$str);
도움 이 되길 바랍니다.
^M
vimrc에 계속 문자가 표시되고 구성이 깨집니다.
:digraphs
vim 내에 입력 하면 @LightnessRacesinOrbit가 연결된 digraph-table이 표시됩니다.
preg_replace('/[\x01]/', ' ' ,$str);
도움 이 되길 바랍니다.
답변:
유닉스는 개행 문자에 0xA를 사용합니다. Windows는 0xD 0xA의 두 문자 조합을 사용합니다. 0xD는 캐리지 리턴 문자입니다. ^M
vim이 0xD를 표시하는 방식입니다 (0x0D = 13, M은 영어 알파벳에서 13 번째 문자 임).
^M
다음을 실행하여 모든 문자를 제거 할 수 있습니다 .
:%s/^M//g
어디 ^M
누르고 입력 Ctrl하고 입력 v한 다음 m, 다음 공개 Ctrl. 간혹 약어로 표시 ^V^M
되지만 문자 그대로 입력하지 않고 이전 문장에서 설명한대로 입력해야합니다.
이 표현식은 모든 발생을 ^M
빈 문자열로 대체 합니다 (예 : 아무것도 없음). 나는 이것을 ^M
Windows에서 Unix (Solaris, Linux, OSX)로 복사 한 파일에서 제거하기 위해 사용합니다 .
^M
파일의 줄 끝이 일치하지 않으면 문자 가 표시 됩니다. Tomasz에서 제공 한 명령을 사용한 다음 :fileformat={unix|dos|mac}
대상 OS에 따라 입력하십시오 . ^M
문자가 없는 줄이 몇 개만 있으면을 원할 것 :fileformat=dos
입니다. vim 이외의 편집기에서 파일을 편집하는 경우 파일이 줄 끝과 일치하도록 구성되어 있는지 확인하십시오 (메모장은이 작업을 수행하지 않지만 Notepad ++ 또는 TextMate와 같은 평판이 좋은 편집기는 작동합니다).
vi
해당 명령을 수동으로 입력해야합니다. vi
실행중인 열린 터미널에 붙여 넣기 만하면 "패턴을 찾을 수 없음"오류가 발생합니다.
:%s/\r//g
파일의 캐리지 리턴을 바꾸는 데 사용해야 했습니다. ^ M 문자가 많은 파일에서 ^ V ^ M 패턴을 찾을 수 없습니다.
줄 바꾸기 대신 새 줄을 번역하려면 :
:%s/\r/\r/g
\r
검색 부분과 교체 부분의 동작이 다릅니다. 예를 들어 stackoverflow.com/a/3834303 을 참조하십시오 .
:%s/\r//g
원래 Mac 사용자를 통해 Windows 시스템에서 생성 된 텍스트 파일을 받았으며이를 사용하여 Linux MySQL DB로 가져와야했습니다. load data
명령을 .
VIM에 '^ M'문자가 표시되었지만 위의 어느 것도 내 특정 문제에 대해 효과가 없었지만 데이터는 가져 오지만 항상 어떤 식 으로든 손상되었습니다. 솔루션은 결국 (많은 좌절 후) 매우 쉬웠습니다.
솔루션 : 동일한 파일에서 dos2unix
TWICE 를 실행 하면 트릭이되었습니다! file
명령을 사용하면 진행 상황을 보여줍니다.
$ file 'file.txt'
file.txt: ASCII text, with CRLF, CR line terminators
$ dos2unix 'file.txt'
dos2unix: converting file file.txt to UNIX format ...
$ file 'file.txt'
file.txt: ASCII text, with CRLF line terminators
$ dos2unix 'file.txt'
dos2unix: converting file file.txt to UNIX format ...
$ file 'file.txt'
file.txt: ASCII text
그리고 파일의 최종 버전은 데이터베이스로 완벽하게 가져 왔습니다.
sed로 모두 제거했습니다.
sed -i -e 's/\r//g' <filename>
다른 문자열 또는 문자로 바꿀 수도 있습니다.
sed -i -e 's/\r/string/g' <filename>
이러한 sed
명령은 GNU / Linux 버전에서 작동 sed
하지만 BSD (macOS 포함)에서 조정이 필요할 수 있습니다.
당신은 이것을 사용하여 vim에서 고칠 수 있습니다
:1,$s/^V^M//g
여기서 ^는 제어 문자입니다.
^M
.