Comprobación de los archivos de DOS en UNIX
Pregunta
Quiero comprobar si existen archivos de DOS en un directorio específico. ¿Hay alguna manera de distinguir los archivos de DOS desde UNIX, aparte de los caracteres ^ M?
He intentado utilizar el archivo, pero da la misma salida para ambos.
$ file test_file
test_file: ascii text
Y después de la conversión:
$ unix2dos test_file test_file
$ file test_file.txt
test_file.txt: ascii text
Solución
El CRLF (\r\n
, ^M
) Los finales de línea caracteres son la única diferencia entre los archivos ASCII Unix y DOS / Windows, así que no, no hay otra manera.
Lo que usted podría probar si usted tiene que fromdos
comando es para comparar su rendimiento con el archivo original:
file=test_file
fromdos < $file | cmp $file -
Esta falla (no cero $?
) si fromdos
despojado cualquier \r
de distancia.
dos2unix
podría ser utilizado de una manera similar, pero no sé su sintaxis exacta.
Otros consejos
Si realmente poner nuevas líneas de Windows en, verá la siguiente salida de file
:
test_file.txt: ASCII text, with CRLF line terminators