[精讚] [會員登入]
63

利用tr如何移除檔案中的 ^M

利用tr如何移除檔案中的換行 ^M

此文完整連結 http://n.sfs.tw/10906

複製連結 利用tr如何移除檔案中的 ^M@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2017-03-15 11:27:11 最後編修
2017-03-15 01:03:15 By 瘦河馬
 

如何移除檔案中的 ^M?

在linux或freebsd 中當我們用 vi/vim/cat 打開說明檔或是DOS的檔案時,有時會在檔案中或行尾發現 ^M (有開顏色顯示的話是藍色的^M) 這個符號,他並不是 '^' + 'M' 而是代表一個換行的符號 chr(13),以下是會可能會出現的符號:

Oct Dec Hex Name
000 0 0x00 NUL
001 1 0x01 SOH, Control-A
002 2 0x02 STX, Control-B
003 3 0x03 ETX, Control-C
004 4 0x04 EOT, Control-D
005 5 0x05 ENQ, Control-E
006 6 0x06 ACK, Control-F
007 7 0x07 BEL, Control-G
010 8 0x08 BS, backspace, Control-H
011 9 0x09 HT, tab, Control-I
012 10 0x0a LF, line feed, newline, Control-J
013 11 0x0b VT, Control-K
014 12 0x0c FF, form feed, NP, Control-L
015 13 0x0d CR, carriage return, Control-M
016 14 0x0e SO, Control-N
017 15 0x0f SI, Control-O
020 16 0x10 DLE, Control-P
021 17 0x11 DC1, XON, Control-Q
022 18 0x12 DC2, Control-R
023 19 0x13 DC3, XOFF, Control-S
024 20 0x14 DC4, Control-T
025 21 0x15 NAK, Control-U
026 22 0x16 SYN, Control-V
027 23 0x17 ETB, Control-W
030 24 0x18 CAN, Control-X
031 25 0x19 EM, Control-Y
032 26 0x1a SUB, Control-Z

要怎麼把他拿掉?可以使用 tr 這個命令:

NAME
       tr - translate or delete characters

參數 -d, --delete
              delete characters in SET1, do not translate
 

$ tr -d "\015"

其他的符號也可類推操作

所以假如檔案 ginzan.txt 要移除 ^M ,下指令:

$ cat ginzan.txt | tr -d '\015' > newfile.txt

參考資料

[1] http://www.computing.net/answers/unix/how-to-delete-m-character-using-vi/2451.html


原文 2010-05-11 20:01:22

你可能感興趣的文章

安裝git centos/freebsd/windows安裝git

[Linux] 進行字串取代,三種字串取代的方法 使用vi、sed、perl來取代字串

[bc] linux 的計算機bc 如何進行8進位、10進位、16進位等轉換 linux 的計算機bc--如何進行8進位、10進位、16進位等轉換

[SIP] OPENSER LINUX版本安裝全記錄 [SIP] OPENSER LINUX版本安裝全記錄

利用tr如何移除檔案中的 ^M 利用tr如何移除檔案中的換行 ^M

Vim .vimrc 設定,讓vim更好用 vim 是 unix-like 系統中最常用的編輯器,經由妥善的設定讓vim更好用

[CSH/TCSH] 使用tcsh SHELL #1 --變數、控制和迴圈 在FREEBSD或LINUX中使用TCSH SHELL,進行一些基本的指令操作。

[CSH/TCSH] 使用tcsh SHELL #2 --檢查、傳值 6. 檔案或目錄的檢查 SHELL 中常會用到檔案或目錄的檢查,一般性的語法是: if [ Operator

[SIP] Kphone安裝記錄 Kphone是2008年當時ipv6剛要推廣時,唯一支援IPv6的公用網路電話,安裝的全記錄..

windows, linux, freebsd 下安裝git windows, linux, freebsd 下安裝git

我有話要說


限制:留言最高字數1000字,超過部分會被截掉。 限制:未登入訪客,每則留言間隔需超過10分鐘,每日最多5則留言。

訪客留言

[無留言]

隨機好文

[Freebsd] 定時測試 ADSL 是否斷線並重連 中華電信 ADSL 雖有固定 ip,可是他卻會不定時「斷線」, 使用以下的 方法可以定時測試是否斷線,以及重新撥接。

[bc] linux 的計算機 bc 設定小數位數、計算π、次方根 linux 的計算機 bc 設定小數位數、計算π、次方根

一個邏輯的錯誤刪了全部檔案的經驗 今天本來想做一件很簡單的事,但卻足足浪費我多一倍的時間,再加上刪掉我全部的檔案,原因只是因為我自己的邏輯錯誤。

[AS3] 我做的唯一一個Flash As3遊戲UFO INVADSION [AS3] 我做的唯一一個Flash As3遊戲,是第一個也是最後一個,後來就沒再寫as3,不過as3還滿好玩的。

正則表達式:Email名稱防止連續輸入點(.)及下底線(_) Email的名稱中要允許特殊符號,但又不允許連續出現的正則表達式