세트(DOS) ANSI-C 텍스트 파일(다운로드하려면 여기를 클릭하세요)OSX High Sierra 노트북에 복사되었습니다. CR\LF가 파일 컴파일을 방해하지 않는지 확인하고 싶습니다. Sublime과 vi는 이러한 파일을 올바르게 표시하는 것 같습니다.
- 기본적으로 Mac에서는 \r로 표시되는 단일 캐리지 리턴(CR) 문자를 사용합니다.
- 반면 유닉스는 단일 개행 문자(LF)인 \n을 사용합니다.
- Windows는 한 단계 더 나아가 두 가지를 모두 사용하여 (CRLF) 조합을 생성합니다\r\n.
dos2unix
설치됨:
brew install dos2unix
ANSI-C 파일을 처리하려고 하면 다음이 반환됩니다.실수:
$ dos2unix *.h
dos2unix: Binary symbol 0x1A found at line 75
dos2unix: Skipping binary file error.h
dos2unix: Binary symbol 0x1A found at line 156
dos2unix: Skipping binary file random.h
dos2unix: Binary symbol 0x1A found at line 49
dos2unix: Skipping binary file resource.h
dos2unix: Binary symbol 0x1A found at line 107
dos2unix: Skipping binary file results.h
dos2unix: Binary symbol 0x1A found at line 261
dos2unix: Skipping binary file sim_lib.h
dos2unix: Binary symbol 0x1A found at line 27
dos2unix: Skipping binary file stats.h
.c 파일
$ dos2unix *.c
dos2unix: Binary symbol 0x1A found at line 110
dos2unix: Skipping binary file error.c
dos2unix: Binary symbol 0x1A found at line 780
dos2unix: Skipping binary file random.c
dos2unix: Binary symbol 0x1A found at line 79
dos2unix: Skipping binary file resource.c
dos2unix: Binary symbol 0x1A found at line 582
dos2unix: Skipping binary file results.c
dos2unix: Binary symbol 0x1A found at line 1755
dos2unix: Skipping binary file sim_lib.c
dos2unix: Binary symbol 0x1A found at line 102
dos2unix: Skipping binary file stats.c
질문
올바른 터미네이터가 적용되도록 하려면 어떤 단계를 수행해야 합니까?
어떤 터미네이터가 참여하고 있는지 시각화(확인)하는 방법은 무엇입니까? (CR\LF\CRLF)
고쳐 쓰다
-f(force) 플래그는 0x1A를 무시하고 파일을 처리합니다. .c 파일을 재귀적으로 찾습니다.
user@hostname:~/csim$ find . -name '*.c' | xargs dos2unix -f
답변1
간단한 테스트는 다음과 같습니다.
~/tmp$ printf "\x1Aabc\r\n" > test
~/tmp$ od -a test
0000000 sub a b c cr nl
0000006
~/tmp$ dos2unix test
dos2unix: Binary symbol 0x1A found at line 1
dos2unix: Skipping binary file test
~/tmp$ dos2unix -f test
dos2unix: converting file test to Unix format...
~/tmp$ od -a test
0000000 sub a b c nl
0000005
. dos2unix -f
강요를 위해
. od -a
바이너리 파일을 보는 데 사용됩니다 .
. Mac의 터미네이터도 LF입니다.