質問

質問

セット(DOS)ANSI-Cテキストファイル(ダウンロードするにはここをクリック)OSX High Sierraノートブックにコピーされました。 CR\LFがファイルのコンパイルを妨げないことを確認したいと思います。 Sublimeとviはこれらのファイルを正しく表示するようです。

3つのターミネーター例:

  1. デフォルトでは、Macは\ rで表される単一のキャリッジリターン(CR)文字を使用します。
  2. 一方、Unixは単一の改行文字(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です。

おすすめ記事