질문

질문

세트(DOS) ANSI-C 텍스트 파일(다운로드하려면 여기를 클릭하세요)OSX High Sierra 노트북에 복사되었습니다. CR\LF가 파일 컴파일을 방해하지 않는지 확인하고 싶습니다. Sublime과 vi는 이러한 파일을 올바르게 표시하는 것 같습니다.

세 개의 터미네이터예:

  1. 기본적으로 Mac에서는 \r로 표시되는 단일 캐리지 리턴(CR) 문자를 사용합니다.
  2. 반면 유닉스는 단일 개행 문자(LF)인 \n을 사용합니다.
  3. 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입니다.

관련 정보