[精讚] [會員登入]
2600

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

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

分享此文連結 //n.sfs.tw/10906

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

END

你可能感興趣的文章

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

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

[SSH] 限制登入的帳號或群組 SSH常會遭到駭客的掃描和暴力法破解密碼,就算密碼夠強,我還是希望駭客一點機會也沒有,所以要限制可以登入的使用者和來源

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

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

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

我有話要說

>>

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

訪客留言

[無留言]

隨機好文

使用Google尋找你的手機 這近發現google竟然可以用來找android的手機,而且不需要經過什麼設定或安裝軟體。

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

如何在linux下執行java 原生的java應用程式可以使用簡單的方法在console下面寫出來,適合作簡單的應用

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

PHP for sphinx 函式庫安裝 PECL/sphinx PHP>= 5.2.2 已經能原生支援 sphinx,可是預設的沒有裝,我們得自己裝才能用