質問
特定のディレクトリにDOSファイルが存在するかどうかを確認したい。 ^m charsとは別に、DOSファイルをUNIXと区別する方法はありますか?
ファイルを使用しようとしましたが、両方に同じ出力を与えます。
$ file test_file
test_file: ascii text
変換後:
$ unix2dos test_file test_file
$ file test_file.txt
test_file.txt: ascii text
解決
CRLF(\r\n
, ^M
)ラインエンディングチャーは、UNIXとDOS/Windows ASCIIファイルの唯一の違いであるため、他の方法はありません。
あなたがしなければならないならあなたが試すかもしれないこと fromdos
コマンドは、出力を元のファイルと比較することです。
file=test_file
fromdos < $file | cmp $file -
これは失敗します(ゼロ以外 $?
) もしも fromdos
剥がれた \r
あちらへ。
dos2unix
同様の方法で使用される可能性がありますが、その正確な構文はわかりません。
他のヒント
実際にWindows Newlinesを入れた場合、次の出力が表示されます file
:
test_file.txt: ASCII text, with CRLF line terminators
所属していません StackOverflow