新聞中心
如何在Linux中刪除中文換行符

成都創(chuàng)新互聯(lián)公司主要從事網(wǎng)站建設(shè)、網(wǎng)站制作、網(wǎng)頁設(shè)計(jì)、企業(yè)做網(wǎng)站、公司建網(wǎng)站等業(yè)務(wù)。立足成都服務(wù)裕華,十余年網(wǎng)站建設(shè)經(jīng)驗(yàn),價(jià)格優(yōu)惠、服務(wù)專業(yè),歡迎來電咨詢建站服務(wù):18980820575
在Linux系統(tǒng)中,有時(shí)我們需要處理一些包含中文的文本文件。但是,不同操作系統(tǒng)或編輯器可能會(huì)使用不同的換行符,這可能會(huì)導(dǎo)致某些行無法正確顯示或處理。本文將介紹如何在Linux系統(tǒng)中刪除中文換行符,以方便對(duì)文本文件的處理。
一、中文換行符
在Windows操作系統(tǒng)中,換行符通常是由兩個(gè)字符組成的:回車符(或稱為“CR”或“\r”)和換行符(或稱為“LF”或“\n”),即“\r\n ”。而在Linux系統(tǒng)中,通常只使用換行符(”\n”),即“LF”字符。而在某些情況下,由于編輯器或其他原因,文本文件中可能會(huì)存在中文換行符。
中文換行符通常是由兩個(gè)字符組成的:回車符(”\r”)和換行符(”\n”),即“\r\n”。 但是,由于在Linux系統(tǒng)中,只使用“\n”字符作為換行符,因此中文換行符通常會(huì)被視為無效字符,從而導(dǎo)致行末出現(xiàn)一些亂碼字符或其他問題。
二、刪除中文換行符的方法
對(duì)于處理中文文本文件,如果文件中存在中文換行符,需要?jiǎng)h除這些換行符,以便對(duì)文件進(jìn)行正確的處理。下面介紹幾種刪除中文換行符的方法:
1. 使用” tr “命令
“tr”命令是一個(gè)很有用的文本處理工具,其主要用于替換和刪除字符。我們可以使用” tr “命令刪除中文換行符,即將回車符“\r”替換為換行符“\n”。
命令格式如下:
“`
tr -d ‘\r’ outputfile
“`
其中,“-d”選項(xiàng)表示刪除指定字符,“\r”表示回車符,“outputfile”表示處理后的輸出文件。
2. 使用“sed”命令
“sed”命令是另一個(gè)常用的文本處理工具,它可以對(duì)文件進(jìn)行各種修改。我們可以使用” sed “命令將中文換行符替換為其他字符或刪除它們。
命令格式如下:
“`
sed -e ‘s/\r//g’ outputfile
“`
其中,“-e”選項(xiàng)表示對(duì)文件進(jìn)行編輯,“s”表示替換操作,“/\r/”表示要替換的字符,”/g”表示全局替換,“outputfile”表示處理后的輸出文件。
3. 使用“iconv”命令
“iconv”命令是一個(gè)轉(zhuǎn)換字符集或編碼的工具。我們可以使用”iconv”命令將具有“\r\n”行尾的文件轉(zhuǎn)換為具有“\n”行尾的文件。
命令格式如下:
“`
iconv -f GB18030 -t UTF-8 -c inputfile > outputfile
“`
其中,“-f GB18030”表示原文件編碼格式為GB18030,“-t UTF-8”表示目標(biāo)文件編碼為UTF-8,“-c”表示將無法轉(zhuǎn)換的字符刪除,“inputfile”表示要處理的輸入文件,“>outputfile”表示處理后的輸出文件。
4. 使用“dos2unix”命令
“dos2unix”命令是專門用于將DOS風(fēng)格的文本文件轉(zhuǎn)換為Unix風(fēng)格的文本文件的工具。我們可以使用” dos2unix “命令將中文換行符替換為Unix風(fēng)格的換行符。
命令格式如下:
“`
dos2unix inputfile outputfile
“`
其中,“inputfile”表示要處理的輸入文件,“outputfile”表示處理后的輸出文件。
結(jié)論:
相關(guān)問題拓展閱讀:
- 在linux配置文件里怎么一行一行刪除?
在linux配置文件里怎么一行一行刪除?
用vi打開編輯,dd是刪除一行,其他快捷操作有:
光標(biāo)控制命令
命令光標(biāo)移動(dòng)
h或^h 向左移一個(gè)字符
j或^j或^n 向下移一行
k或^p 向上移一行
l或空格向右移一個(gè)字符
G移到文件的最后一行
nG移到文件的第n行
w移到下一個(gè)字的開頭
W移到下一個(gè)字的開頭侍衫,忽略標(biāo)點(diǎn)符號(hào)
b移到前一個(gè)字的開頭
B移到前一個(gè)字的開頭,忽略標(biāo)點(diǎn)符號(hào)
L移到屏幕的最后一行
M移到屏幕的中間一行
H移到屏幕的之一行
e移到下一個(gè)字的結(jié)尾
E移到下一個(gè)字的結(jié)尾,忽略標(biāo)點(diǎn)符號(hào)
(移到句子的開頭
)移到句子的結(jié)尾
{移到段落的開頭
}移到下一個(gè)段落的開頭
0或|移到當(dāng)前行的之一列
n|移到當(dāng)前行的第n列
^移到當(dāng)前行的之一個(gè)非空字符
$移到當(dāng)前行的最后一個(gè)字符
+或return 移到下一行的之一個(gè)字符
移到前一行的之一個(gè)非空字符
在vi中添加文本
命令插入動(dòng)作
a在光標(biāo)后插入文本
A在當(dāng)前行插入文本
i在光標(biāo)老瞎腔前插入文本
I在當(dāng)前行前插入文本
o在當(dāng)前行的下邊插入新行
O在當(dāng)前行的上邊插入新行
:r file 讀入文件file內(nèi)容,并插在當(dāng)前行后
:nr file 讀入文件file內(nèi)容,并插在第n行后
escape 回到命令模式
^v char 插入時(shí)忽略char的指定意義,這是為了插入特殊字符
在vi中刪除文本
命令刪除操作
x刪除光標(biāo)處的字符,可以在x前加上需要?jiǎng)h除的字符數(shù)目
nx從當(dāng)前光標(biāo)處神姿往后刪除n個(gè)字符
X刪除光標(biāo)前的字符,可以在X前加上需要?jiǎng)h除的字符數(shù)目
nX從當(dāng)前光標(biāo)處往前刪除n個(gè)字符
dw刪至下一個(gè)字的開頭
ndw從當(dāng)前光標(biāo)處往后刪除n個(gè)字
dG刪除行,直到文件結(jié)束
dd刪除整行
ndd從當(dāng)前行開始往后刪除
db刪除光標(biāo)前面的字
ndb從當(dāng)前行開始往前刪除n字
:n,md 從第m行開始往前刪除n行
d或d$ 從光標(biāo)處刪除到行尾
dcursor_command刪除至光標(biāo)命令處,如dG將從當(dāng)產(chǎn)膽行刪除至文件的末尾
^h或backspace插入時(shí),刪除前面的字符
^w插入時(shí),刪除前面的字
修改vi文本
每個(gè)命令前面的數(shù)字表示該命令重復(fù)的次數(shù)
命令替換操作
rchar 用char替換當(dāng)前字符
R text escape用text替換當(dāng)前字符直到換下Esc鍵
stext escape用text代替當(dāng)前字符
S或cctext escape用text代替整行
cwtext escape將當(dāng)前字改為text
Ctext escape將當(dāng)前行余下的改為text
cG escape 修改至文件的末尾
ccursor_cmd text escape 從當(dāng)前位置處到光標(biāo)命令位置處都改為text
在vi中查找與替換
命令查找與替換操作
/text 在文件中向前查找text
?text 在文件中向后查找text
n在同一方向重復(fù)查找
N在相反方向重復(fù)查找
ftext 在當(dāng)前行向前查找text
Ftext 在當(dāng)前行向后查找text
ttext 在當(dāng)前行向前查找text,并將光標(biāo)定位在text的之一個(gè)字符
Ttext 在當(dāng)前行向后查找text,并將光標(biāo)定位在text的之一個(gè)字符
:set ic 查找時(shí)忽略大小寫
:set noic 查找時(shí)對(duì)大小寫敏感
:s/oldtext/newtext用newtext替換oldtext
:m,ns/oldtext/newtext 在m行通過n,用newtext替換oldtext
&重復(fù)最后的:s命令
:g/text1/s/text2/text3 查找包含text1的行,用text3替換text2
:g/text/command在所有包含text的行運(yùn)行command所表示的命令
:v/text/command在所有不包含text的行運(yùn)行command所表示的命令
在vi中復(fù)制文本
命令復(fù)制操作
yy將當(dāng)前行的內(nèi)容放入臨時(shí)緩沖區(qū)
nyy將n行的內(nèi)容放入臨時(shí)緩沖區(qū)
p將臨時(shí)緩沖區(qū)中的文本放入光標(biāo)后
P將臨時(shí)緩沖區(qū)中的文本放入光標(biāo)前
dsfsd “(a-z)nyy復(fù)制n行放入名字為圓括號(hào)內(nèi)的可命名緩沖區(qū),省略n表示當(dāng)前行
“(a-z)ndd 刪除n行放入名字為圓括號(hào)內(nèi)的可命名緩沖區(qū),省略n表示當(dāng)前行
“(a-z)p 將名字為圓括號(hào)的可命名緩沖區(qū)的內(nèi)容放入當(dāng)前行后
“(a-z)P 將名字為圓括號(hào)的可命名緩沖區(qū)的內(nèi)容放入當(dāng)前行前
在vi中撤消與重復(fù)
命令撤消操作
u撤消最后一次修改
U撤消當(dāng)前行的所有修改
.重復(fù)最后一次修改
,以相反的方向重復(fù)前面的f、F、t或T查找命令
;重復(fù)前面的f、F、t或T查找命令
“np取回最后第n次的刪除(緩沖區(qū)中存有一定次數(shù)的刪除內(nèi)容,一般為9)
n重復(fù)前面的/或?查找命令
N以相反方向重復(fù)前面的/或?命令
保存文本和退出vi
命令保存和/或退出操作
:w保存文件但不退出vi
:w file 將修改保存在file中但不退出vi
:wq或ZZ或:x保存文件并退出vi
:q!不保存文件,退出vi
:e!放棄所有修改,從上次保存文件開始再編輯
vi中的選項(xiàng)
選項(xiàng)作用
:set all 打印所有選項(xiàng)
:set nooption關(guān)閉option選項(xiàng)
:set nu 每行前打印行號(hào)
:set showmode顯示是輸入模式還是替換模式
:set noic 查找時(shí)忽略大小寫
:set list 顯示制表符(^I)和行尾符號(hào)
:set ts= 為文本輸入設(shè)置tab stops
:set window=n設(shè)置文本窗口顯示n行
vi的狀態(tài)
選項(xiàng)作用
:.=打印當(dāng)前行的行號(hào)
:=打印文件中的行數(shù)
^g顯示文件名、當(dāng)前的行號(hào)、文件的總行數(shù)和文件位置的百分比
:l使用字母”l”來顯示許多的特殊字符,如制表符和換行符
在文本中定位段落和放置標(biāo)記
選項(xiàng)作用
{在之一列插入{來定義一個(gè)段落
>>向前移到下一個(gè)段落的開頭處
m(a-z) 用一個(gè)字母來標(biāo)記當(dāng)前位置,如用mz表示標(biāo)記z
‘(a-z) 將光標(biāo)移動(dòng)到指定的標(biāo)記,如用’z表示移動(dòng)到z
在vi中連接行
選項(xiàng)作用
J將下一行連接到當(dāng)前行的末尾
nJ連接后面n行
光標(biāo)放置與屏幕調(diào)整
選項(xiàng)作用
H將光標(biāo)移動(dòng)到屏幕的頂行
nH將光標(biāo)移動(dòng)到屏幕頂行下的第n行
M將光標(biāo)移動(dòng)到屏幕的中間
L將光標(biāo)移動(dòng)到屏幕的底行
nL將光標(biāo)移動(dòng)到屏幕底行上的第n行
^e(ctrl+e) 將屏幕上滾一行
^y將屏幕下滾一行
^u將屏幕上滾半頁
^d將屏幕下滾半頁
^b將屏幕上滾一頁
^f將屏幕下滾一頁
^l重繪屏幕
z-return 將當(dāng)前行置為屏幕的頂行
nz-return 將當(dāng)前行下的第n行置為屏幕的頂行
z.將當(dāng)前行置為屏幕的中央
nz.將當(dāng)前行上的第n行置為屏幕的中央
z將當(dāng)前行置為屏幕的底行
nz將當(dāng)前行上的第n行置為屏幕的底行
vi中的shell轉(zhuǎn)義命令
選項(xiàng)作用
:!command 執(zhí)行shell的command命令,如:!ls
:!!執(zhí)行前一個(gè)shell命令
:r!command 讀取command命令的輸入并插入,如:r!ls會(huì)先執(zhí)行l(wèi)s,然后讀入內(nèi)容
:w!command 將當(dāng)前已編輯文件作為command命令的標(biāo)準(zhǔn)輸入并執(zhí)行command命令,如:w!grep all
:cd directory將當(dāng)前工作目錄更改為directory所表示的目錄
:sh將啟動(dòng)一個(gè)子shell,使用^d(ctrl+d)返回vi
:so file 在shell程序file中讀入和執(zhí)行命令
vi中的宏與縮寫
(避免使用控制鍵和符號(hào),不要使用字符K、V、g、q、v、*、=和功能鍵)
選項(xiàng)作用
:map key command_seq 定義一個(gè)鍵來運(yùn)行command_seq,如:map e ea,無論什么時(shí)候都可以e移到一個(gè)字的末尾來追加文本
:map在狀態(tài)行顯示所有已定義的宏
:umap key 刪除該鍵的宏
:ab string1 string定義一個(gè)縮寫,使得當(dāng)插入string1時(shí),用string2替換string1。當(dāng)要插入文本時(shí),鍵入string1然后按Esc鍵,系統(tǒng)就插入了string2
:ab顯示所有縮寫
:una string取消string的縮寫
在vi中縮進(jìn)文本
選項(xiàng)作用
^i(ctrl+i)或tab插入文本時(shí),插入移動(dòng)的寬度,移動(dòng)寬度是事先定義好的
:set ai 打開自動(dòng)縮進(jìn)
:set sw=n 將移動(dòng)寬度設(shè)置為n個(gè)字符
n>使n行都向右移動(dòng)一個(gè)寬度,例如3>>就將接下來的三行每行都向右移動(dòng)一個(gè)移動(dòng)寬度
關(guān)于linux怎么去掉中文換行符的介紹到此就結(jié)束了,不知道你從中找到你需要的信息了嗎 ?如果你還想了解更多這方面的信息,記得收藏關(guān)注本站。
香港服務(wù)器選創(chuàng)新互聯(lián),2H2G首月10元開通。
創(chuàng)新互聯(lián)(www.cdcxhl.com)互聯(lián)網(wǎng)服務(wù)提供商,擁有超過10年的服務(wù)器租用、服務(wù)器托管、云服務(wù)器、虛擬主機(jī)、網(wǎng)站系統(tǒng)開發(fā)經(jīng)驗(yàn)。專業(yè)提供云主機(jī)、虛擬主機(jī)、域名注冊(cè)、VPS主機(jī)、云服務(wù)器、香港云服務(wù)器、免備案服務(wù)器等。
當(dāng)前文章:Linux如何刪除中文換行符(linux怎么去掉中文換行符)
轉(zhuǎn)載來源:http://m.fisionsoft.com.cn/article/cohsjih.html


咨詢
建站咨詢
