windows 檔案換行: \r\n (0x0d,0x0a)
unix 檔案換行: \n (0x0a)
在 Windows 環境寫檔案,
再到 Unix 環境下用 VIM 編輯, 會看到行尾常常出現 ^M.
使用 tr 指令幫助拿掉 windows 多加上的 \r (0x0d).
find . -name \*.c | while read FILE
do
if tr -d '^M' < $FILE > $FILE.bak
then
mv -f $FILE.bak $FILE
fi
done
find . -name \*.h | while read FILE
do
if tr -d '^M' < $FILE > $FILE.bak
then
mv -f $FILE.bak $FILE
fi
done
Reference:
1. 拿掉單一檔案的 ^M
http://www.theunixschool.com/2011/03/different-ways-to-delete-m-character-in.html
2. 拿掉多個檔案的 ^M
http://www.unix.com/shell-programming-and-scripting/45331-removing-m-multiple-files.html
3. tr
http://fanqiang.chinaunix.net/a1/b1/20010430/142744_b.html
全站熱搜
留言列表