4

デフォルトでは、バイナリ ファイルに影響を与えることは想定されていません。

画像のあるフォルダーでテストしましたが、ほとんどの画像は影響を受けませんでしたが、いくつかは影響を受けました. バイナリ ファイルとテキスト ファイルを区別できない場合dos2unix、適切に機能させるには、特定のファイル拡張子を含めたり除外したりする必要がありますか?

注:file image.jpg変更されたかどうかに関係なく、任意の jpg で実行すると、結果は次のようになります。

JPEG image data, JFIF standard 1.01
4

2 に答える 2

5

これは、dos2unix プログラムのソース コードの関連部分です。

if ((ipFlag->Force == 0) &&
      (TempChar < 32) &&
      (TempChar != 0x0a) &&  /* Not an LF */
      (TempChar != 0x0d) &&  /* Not a CR */
      (TempChar != 0x09) &&  /* Not a TAB */
      (TempChar != 0x0c)) {  /* Not a form feed */
        RetVal = -1; 
        ipFlag->status |= BINARY_FILE ;
        if (ipFlag->verbose) {
          if ((ipFlag->stdio_mode) && (!ipFlag->error)) ipFlag->error = 1;
          d2u_fprintf(stderr, "%s: ", progname);
          d2u_fprintf(stderr, _("Binary symbol 0x00%02X found at line %u\n"),TempChar, line_nr);
        }
        break;
      } 

ファイルに他の制御文字がある場合はバイナリ ファイルと見なされてスキップされ、それ以外の場合はテキスト ファイルとして処理されるようです。そのため、バイナリ ファイル (画像など) にこれらの文字が含まれていない場合、破損します。

于 2015-12-14T00:30:17.443 に答える