dos格式文件傳輸?shù)絬nix系統(tǒng)時(shí),會(huì)在每行的結(jié)尾多一個(gè)^M,當(dāng)然也有可能看不到,但是在vi的時(shí)候,會(huì)在下面顯示此文件的格式,比如 "dos.txt" [dos] 120L, 2532C 字樣,表示是一個(gè)[dos]格式文件,如果是MAC系統(tǒng)的,會(huì)顯示[MAC],因?yàn)槲募袷降脑蛴袝r(shí)會(huì)導(dǎo)致我們的unix程序,或者shell程序出現(xiàn)錯(cuò)誤,那么需要把這些dos文件格式轉(zhuǎn)換成unix格式,方法是
vi dos.txt
:set fileformat=unix
:w
這樣文件就轉(zhuǎn)換成unix格式文件了, 一般在windows機(jī)器上編寫(xiě)好了文件傳到unix下就可能會(huì)出現(xiàn)這樣的情況.
用命令:set ff? 可以看到dos或unix的字樣.
用:set ff=unix把它強(qiáng)制為unix格式,也可以用sed 這樣的工具來(lái)做:
sed 's/^M//' filename > tmp_filename
其中^M是同時(shí)Ctrl+V+M按出來(lái)的,表示回車。
其它“怪招”:
1. 使用vi
vi dos_file.txt
:%s/^M//g
其中^M 必須是同時(shí)按 Ctrl+V+M ,表示回車。不是直接輸入 ^M ,那沒(méi)有用的, :-) 。
2. 使用tr
命令:tr -d "\015" dos_file.txt
3. 使用perl
cat dos_file.txt | perl -pe '~s/\r//g' > dos_file.txt