2011-01-10 60 views
2

我想檢查任何特定目錄中是否存在任何DOS文件。 除了^ M字符之外,是否有任何方法可以區分DOS文件和UNIX?檢查UNIX上的DOS文件

我試過使用文件,但它給出了兩個相同的輸出。

$ file test_file 
test_file: ascii text 

而且轉換後:

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

回答

0

的CRLF(\r\n^M)行結尾字符是Unix和DOS/Windows ASCII文件之間的唯一區別,所以不行,沒有別的辦法。

如果你有fromdos命令你可以嘗試將它的輸出與原文件進行比較:

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

這失敗(非零$?)如果fromdos剝奪任何\r了。

dos2unix可能以類似的方式使用,但我不知道它的確切語法。

0

如果你居然把視窗換行符,你會看到從file以下的輸出:

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

不適用於每個版本的Unix。 – 2011-01-10 13:54:53