作者 主題: ^M 如何消除  (閱讀 30147 次)

0 會員 與 1 訪客 正在閱讀本文。

劍客

  • 活潑的大學生
  • ***
  • 文章數: 238
    • 檢視個人資料
    • http://kalug.ks.edu.tw
^M 如何消除
« 於: 2002-03-13 10:06 »
如果你自 window 轉來一個文字檔,你會發現在每一行尾都會出現 ^M 的字元。如果想消除 ^M 必須要進行格式轉換。此時可以利用這個工具 dos2unix 來進行轉換,使用方法是

% dos2unix 檔案名稱

arnix

  • 懷疑的國中生
  • **
  • 文章數: 69
    • 檢視個人資料
^M 如何消除
« 回覆 #1 於: 2004-12-15 14:08 »
分享,我常常忘記,偶爾又會用到,借此貼在比較好找的地方  :wink:

(下面這一段是為了便於將來搜尋用的關鍵字
將檔案由
dos to unix 格式
dos 轉 unix 格式
)
 
cat file | col -b > newfile

sikouchang

  • 可愛的小學生
  • *
  • 文章數: 9
    • 檢視個人資料
^M 如何消除
« 回覆 #2 於: 2004-12-18 20:21 »
也可以在 vi 裡面,從第一行開始。

:%s/^M//g  來消除 ^M,那個 ^ 是您要先按 Ctrl +V, 接下來M,要按 Ctrl +M。

這是小弟在 Solaris 裡面,若沒有 dos2unix 這工具可轉換的情形下,用 vi 來消除 ^M 的技巧。

vincent119

  • 憂鬱的高中生
  • ***
  • 文章數: 137
    • 檢視個人資料
^M 如何消除
« 回覆 #3 於: 2005-02-14 14:21 »
try it

tr -d `\015`  file   newfile

joewai522

  • 可愛的小學生
  • *
  • 文章數: 5
    • 檢視個人資料
^M 如何消除
« 回覆 #4 於: 2006-11-17 11:42 »
感激大大的小撇步~~~真的很好用喔

可以解決很多問題~~~

因為AIX Solaris都沒有doc那個程式~~~

感激分享

sqp1982

  • 可愛的小學生
  • *
  • 文章數: 1
    • 檢視個人資料
^M 如何消除
« 回覆 #5 於: 2006-12-19 16:34 »
dos2unix your file
 :D

JackYang78

  • 榮譽博士
  • 俺是博士!
  • *****
  • 文章數: 2672
    • 檢視個人資料
^M 如何消除
« 回覆 #6 於: 2006-12-19 16:37 »
用 UltraEdit 的 DostoUnix 轉一下也可以喔!!
Networking & Communication Security SE

harrier

  • 榮譽博士
  • 俺是博士!
  • *****
  • 文章數: 1856
  • 性別: 男
    • 檢視個人資料
    • 國屬武裝兵
^M 如何消除
« 回覆 #7 於: 2006-12-19 17:03 »
zip 再 unzip 也可以。
AIX 有 zip 和 unzip,就在 Linux Toolbox 裡面。
...90Net(90:1200/1203),GameNET(99:700/707),ALLNet(92:9200/3111),InfoNet(30:100/103)..MaximusCBCS(浮懷),AirNet,TenderNet,StormNet,FidoNet...
<<- www.nas.vg ->>

appleboy

  • 活潑的大學生
  • ***
  • 文章數: 224
    • 檢視個人資料
    • 小惡魔筆記
^M 如何消除
« 回覆 #8 於: 2006-12-26 22:05 »
man gcc | col -b > gcc.txt

vi 後 :1,$s/^v^H//g  

sed -i -e 's/^v^H//g' file

(^v = ctrl + v, ^H = ctrl+h)

我在linux連線版  整理的  還不錯  分享給大家

歡迎來到 CodeIgniter 繁體中文討論區
My Blog:小惡魔 - 電腦技術 - 生活日記 - 美食介紹 - AppleBOY

arnix

  • 懷疑的國中生
  • **
  • 文章數: 69
    • 檢視個人資料
^M 如何消除
« 回覆 #9 於: 2007-10-12 01:21 »
引述: "arnix"

 
cat file | col -b > newfile


注意:這個方法的原理是將檔案中所有的 CR 字元全都剔除。
但這個作法除了會把原本連續出現的 CRLF 這種 DOS 「換列標記」換成只剰 LF 外,
其他在檔案中單獨出現的 CR 或配合其他字元使用 CR 的連續字元,
都會因此被拿掉其中的 CR 字元。

因此,如果您「只是想處理 CRLF 而已」,使用這種作法可能產生您預期之外的結果,
或者也可以這麼說 -- 結果可能會與使用 dos2unix 轉換後的不一樣。
(如果您的檔案中還有其他地方使用 CR字元的話,就會真的不一樣)