如何從unix/linux文件中刪除ctrl-m(^M)字符

描述: 

 unix處理文件每一行的結尾與其它操作系統是不一樣的,有時當我們在window和unix之間交錯編輯一個文件時,^M字符在unix下的vim中會顯示在每一午的結尾。如何從unix/linux文件中刪除ctrl-m(^M)字符.

 當你從dos或者windows系統中導入一個文本文件到linux/unix,而忘記把它轉成ASCII或者text模式時,你可能要做這個事。這裏有幾種方法可以刪除^M字符。選擇其中一種適合你自己的就可以了.

  • 一、最簡單的方法可能就是使用流編輯器sed來刪除^M字符。 方法就是:在shell下輸入: % sed -e "s/^M//" filename > newfilename
    要輸入^M這個字符,是先輸入CTRL+V, 再CTRL+M.也可以直接按住 CTRL鍵,再連着輸入V 和 M 就可以了。
  • 二、你也可以在vim編輯器中完成:vi filename
    在輸入ESC後,進入ECS模式,然後輸入::%s/^M//g
    同樣要輸入^M字符,按照方法1的方式。
  • 三、你也可以在Emacs中,方法如下:
    1. 光標移到文件頭
    2. 輸入: M-x replace-string RET C-q C-m RET RET
       "RET" means <press the return key> and C-q and C-m mean <hold the CTRL key and press the m (or q) key>.
如果當好多文件都要我們處理時,我們可以寫一個腳本,如下:
#/bin/bash
for fileName in $(ls *.c); do
cat $fileName | sed s/^M//g >tmp && mv tmp $fileName
done
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章