セット(DOS)ANSI-Cテキストファイル(ダウンロードするにはここをクリック)OSX High Sierraノートブックにコピーされました。 CR\LFがファイルのコンパイルを妨げないことを確認したいと思います。 Sublimeとviはこれらのファイルを正しく表示するようです。
- デフォルトでは、Macは\ rで表される単一のキャリッジリターン(CR)文字を使用します。
- 一方、Unixは単一の改行文字(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です。