[精讚] [會員登入]
275

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

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

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

複製連結 利用tr如何移除檔案中的 ^M@新精讚
(文章歡迎轉載,務必尊重版權註明連結來源)
2018-08-15 05:23:44 最後編修
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

你可能感興趣的文章

[vi/vim] 如何讓 root 帳號的 vim 可以顯示顏色 如何讓 root 帳號的 vim 可以顯示顏色

FREEBSD、LINUX和MAC拷背目錄的差別 原本以為cp複製一個目錄,但在FREEBSD、LINUX和MAC竟有不同的表現情況

計算檔案數和目錄數 linux/freebsd等系統利用ls來計算檔案數和目錄數、只列出目錄的方法

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

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

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

[Linux] mongodb 初步--3/3 我使用mongo 的一些大小事:資料庫的權限、幫助

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

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

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

我有話要說


限制:留言最高字數1000字,超過部分會被截掉。請注意:留言不可帶有網址,會被濾掉。 限制:未登入訪客,每則留言間隔需超過10分鐘,每日最多5則留言。

訪客留言

[無留言]

隨機好文

沒有非誰做不可的事,也沒有不可被取代的人 沒有非誰做不可的事,也沒有不可被取代的人

[札記] 2016.7~12月札記 札記,只是札記

[Wildfly10] 發佈war檔 deploy war file onto wildfly10

[大型機台] 熱血高校躲避球 多少少年時光歲月耗在這個遊戲上,二十幾年前的那個時光,唯一想做的事就是把吃飯錢省下來拿去打一場五塊錢的電動,就算是沒錢也

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