欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Linux 中刪除文本中的回車(chē)字符的方法

 更新時(shí)間:2019年09月27日 10:42:05   作者:Sandra Henry-stocker  
當(dāng)回車(chē)字符(Ctrl+M)讓你緊張時(shí),別擔(dān)心。有幾種簡(jiǎn)單的方法消除它們,感興趣的朋友跟隨腳本之家小編一起看看吧

當(dāng)回車(chē)字符(Ctrl+M)讓你緊張時(shí),別擔(dān)心。有幾種簡(jiǎn)單的方法消除它們。

“回車(chē)”字符可以往回追溯很長(zhǎng)一段時(shí)間 —— 早在打字機(jī)上就有一個(gè)機(jī)械裝置或杠桿將承載紙滾筒的機(jī)架移到右邊,以便可以重新在左側(cè)輸入字母。他們?cè)?Windows 上的文本文件上保留了它,但從未在 Linux 系統(tǒng)上使用過(guò)。當(dāng)你嘗試在 Linux 上處理在 Windows 上創(chuàng)建的文件時(shí),這種不兼容性有時(shí)會(huì)導(dǎo)致問(wèn)題,但這是一個(gè)非常容易解決的問(wèn)題。

如果你使用 od八進(jìn)制轉(zhuǎn)儲(chǔ)octal dump)命令查看文件,那么回車(chē)(也用 Ctrl+M 代表)字符將顯示為八進(jìn)制的 15。字符 CRLF 通常用于表示 Windows 文本文件中的一行結(jié)束的回車(chē)符和換行符序列。那些注意看八進(jìn)制轉(zhuǎn)儲(chǔ)的會(huì)看到 \r\n。相比之下,Linux 文本僅以換行符結(jié)束。

這有一個(gè) od 輸出的示例,高亮顯示了行中的 CRLF 字符,以及它的八進(jìn)制。

$ od -bc testfile.txt
0000000 124 150 151 163 040 151 163 040 141 040 164 145 163 164 040 146
  T h i s i s a t e s t f
0000020 151 154 145 040 146 162 157 155 040 127 151 156 144 157 167 163
  i l e f r o m W i n d o w s
0000040 056 015 012 111 164 047 163 040 144 151 146 146 145 162 145 156 <==
  . \r \n I t ' s d i f f e r e n <==
0000060 164 040 164 150 141 156 040 141 040 125 156 151 170 040 164 145
  t t h a n a U n i x t e
0000100 170 164 040 146 151 154 145 015 012 167 157 165 154 144 040 142 <==
  x t f i l e \r \n w o u l d b <==

雖然這些字符不是大問(wèn)題,但是當(dāng)你想要以某種方式解析文本,并且不希望就它們是否存在進(jìn)行編碼時(shí),這有時(shí)候會(huì)產(chǎn)生干擾。

3 種從文本中刪除回車(chē)符的方法

幸運(yùn)的是,有幾種方法可以輕松刪除回車(chē)符。這有三個(gè)選擇:

dos2unix

你可能會(huì)在安裝時(shí)遇到麻煩,但 dos2unix 可能是將 Windows 文本轉(zhuǎn)換為 Unix/Linux 文本的最簡(jiǎn)單方法。一個(gè)命令帶上一個(gè)參數(shù)就行了。不需要第二個(gè)文件名。該文件會(huì)被直接更改。

$ dos2unix testfile.txt
dos2unix: converting file testfile.txt to Unix format...

你應(yīng)該會(huì)發(fā)現(xiàn)文件長(zhǎng)度減少,具體取決于它包含的行數(shù)。包含 100 行的文件可能會(huì)縮小 99 個(gè)字符,因?yàn)橹挥凶詈笠恍胁粫?huì)以 CRLF 字符結(jié)尾。

之前:

-rw-rw-r-- 1 shs shs 121 Sep 14 19:11 testfile.txt

之后:

-rw-rw-r-- 1 shs shs 118 Sep 14 19:12 testfile.txt

如果你需要轉(zhuǎn)換大量文件,不用每次修復(fù)一個(gè)。相反,將它們?nèi)糠旁谝粋€(gè)目錄中并運(yùn)行如下命令:

$ find . -type f -exec dos2unix {} \;

在此命令中,我們使用 find 查找常規(guī)文件,然后運(yùn)行 dos2unix 命令一次轉(zhuǎn)換一個(gè)。命令中的 {} 將被替換為文件名。運(yùn)行時(shí),你應(yīng)該處于包含文件的目錄中。此命令可能會(huì)損壞其他類(lèi)型的文件,例如除了文本文件外在上下文中包含八進(jìn)制 15 的文件(如,鏡像文件中的字節(jié))。

sed

你還可以使用流編輯器 sed 來(lái)刪除回車(chē)符。但是,你必須提供第二個(gè)文件名。以下是例子:

$ sed -e “s/^M//” before.txt > after.txt

一件需要任意的重要的事情是,請(qǐng)不要輸入你看到的字符。你必須按下 Ctrl+V 后跟 Ctrl+M 來(lái)輸入 ^M。s 是替換命令。斜杠將我們要查找的文本(Ctrl + M)和要替換的文本(這里為空)分開(kāi)。

vi

你甚至可以使用 vi 刪除回車(chē)符(Ctrl+M),但這里假設(shè)你沒(méi)有打開(kāi)數(shù)百個(gè)文件,或許也在做一些其他的修改。你可以鍵入 : 進(jìn)入命令行,然后輸入下面的字符串。與 sed 一樣,命令中 ^M 需要通過(guò) Ctrl+V 輸入 ^,然后 Ctrl+M 插入 M%s 是替換操作,斜杠再次將我們要?jiǎng)h除的字符和我們想要替換它的文本(空)分開(kāi)。 g(全局)意味在所有行上執(zhí)行。

:%s/^M//g

總結(jié)

dos2unix 命令可能是最容易記住的,也是從文本中刪除回車(chē)的最可靠的方法。其他選擇使用起來(lái)有點(diǎn)困難,但它們提供相同的基本功能。

via: https://www.networkworld.com/article/3438857/how-to-remove-carriage-returns-from-text-files-on-linux.html

總結(jié)

以上所述是小編給大家介紹的 Linux 中刪除文本中的回車(chē)字符的方法,希望對(duì)大家有所幫助,如果大家有任何疑問(wèn)請(qǐng)給我留言,小編會(huì)及時(shí)回復(fù)大家的。在此也非常感謝大家對(duì)腳本之家網(wǎng)站的支持!
如果你覺(jué)得本文對(duì)你有幫助,歡迎轉(zhuǎn)載,煩請(qǐng)注明出處,謝謝!

相關(guān)文章

  • linux Cron定時(shí)執(zhí)行帶參數(shù)的PHP代碼

    linux Cron定時(shí)執(zhí)行帶參數(shù)的PHP代碼

    前面有篇文章簡(jiǎn)單介紹了了cPanel控制面板下如何使用時(shí)鐘守護(hù)作業(yè)的方法,但有時(shí),我們希望執(zhí)行帶參數(shù)的php代碼,即如何傳遞參數(shù)給cron,飄易分享下方法如下
    2021-07-07
  • linux的最大打開(kāi)文件數(shù)限制修改方法

    linux的最大打開(kāi)文件數(shù)限制修改方法

    這篇文章主要給大家介紹了關(guān)于linux最大打開(kāi)文件數(shù)限制修改的方法,文中將實(shí)現(xiàn)的方法一步步介紹的非常詳細(xì),對(duì)同樣遇到這個(gè)需求的朋友們具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧。
    2017-10-10
  • Centos8搭建本地Web服務(wù)器的實(shí)現(xiàn)步驟

    Centos8搭建本地Web服務(wù)器的實(shí)現(xiàn)步驟

    這篇文章主要介紹了Centos8搭建本地Web服務(wù)器的實(shí)現(xiàn)步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-01-01
  • Ubuntu VPS 簡(jiǎn)易安裝LAMP教程

    Ubuntu VPS 簡(jiǎn)易安裝LAMP教程

    LAMP是Linux、Apache、MySQL和PHP的首字母縮寫(xiě)詞,本教程將引導(dǎo)你安裝基于Ubuntu10.10系統(tǒng)的Apache2服務(wù)器,支持PHP5(mod_php)和MySQL。
    2011-02-02
  • Linux基礎(chǔ)命令之mktemp詳解

    Linux基礎(chǔ)命令之mktemp詳解

    創(chuàng)建臨時(shí)文件或者目錄,這樣的創(chuàng)建方式是安全的。此命令的適用范圍:RedHat、RHEL、Ubuntu、CentOS、SUSE、openSUSE、Fedora。這篇文章主要介紹了Linux基礎(chǔ)命令之mktemp ,需要的朋友可以參考下
    2018-10-10
  • Apache配置虛擬目錄和多主機(jī)頭的方法

    Apache配置虛擬目錄和多主機(jī)頭的方法

    這篇文章主要介紹了apache中配置虛擬目錄,以及多主機(jī)頭配置,有需要的朋友,可以參考下
    2016-11-11
  • Linux系統(tǒng)下移植busybox中mkfs.vfat命令

    Linux系統(tǒng)下移植busybox中mkfs.vfat命令

    為了延長(zhǎng)磁盤(pán)壽命來(lái)存儲(chǔ)音視頻文件,打發(fā)在格式化磁盤(pán)過(guò)程中將簇的大小設(shè)置大點(diǎn)。這接下來(lái)通過(guò)本文給大家介紹移植busybox中mkfs.vfat命令,需要的朋友可以參考下
    2019-07-07
  • 阿里云linux服務(wù)器安全設(shè)置(防火墻策略等)

    阿里云linux服務(wù)器安全設(shè)置(防火墻策略等)

    這篇文章主要介紹了阿里云linux服務(wù)器安全設(shè)置,主要是針對(duì)防火墻策略等一些補(bǔ)充
    2016-10-10
  • linux C編程常見(jiàn)的錯(cuò)誤總結(jié)(必看篇)

    linux C編程常見(jiàn)的錯(cuò)誤總結(jié)(必看篇)

    下面小編就為大家?guī)?lái)一篇linux C編程常見(jiàn)的錯(cuò)誤總結(jié)(必看篇)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-12-12
  • 淺談linux下的一些常用函數(shù)的總結(jié)(必看篇)

    淺談linux下的一些常用函數(shù)的總結(jié)(必看篇)

    下面小編就為大家?guī)?lái)一篇淺談linux下的一些常用函數(shù)的總結(jié)(必看篇)。小編覺(jué)得挺不錯(cuò)的,現(xiàn)在就分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧
    2016-10-10

最新評(píng)論