Проверка файлов DOS в UNIX - PullRequest
       25

Проверка файлов DOS в UNIX

2 голосов
/ 10 января 2011

Я хочу проверить, существуют ли какие-либо файлы DOS в каком-либо определенном каталоге.Есть ли какой-нибудь способ отличить файлы DOS от UNIX, кроме символов ^ M?

Я пытался использовать файл, но он дает одинаковый результат для обоих.

$ unix2dos test_file test_file
$ file test_file.txt
test_file.txt: ascii text

Ответы [ 2 ]

0 голосов
/ 10 января 2011

Символы конца строки CRLF (\r\n, ^M) - это единственное различие между файлами Unix и DOS / Windows ASCII, поэтому нет другого пути.

Что вы можете попробовать, еслиОбязательно fromdos команда для сравнения своих выходных данных с исходным файлом:

file=test_file
fromdos < $file | cmp $file -

Сбой (не ноль $?), если fromdos раздет любой \rпрочь.

dos2unix может использоваться аналогичным образом, но я не знаю его точный синтаксис.

0 голосов
/ 10 января 2011

Если вы на самом деле вставляете символы новой строки в Windows, вы увидите следующий вывод из file:

 test_file.txt: ASCII text, with CRLF line terminators
...