日韩无码专区无码一级三级片|91人人爱网站中日韩无码电影|厨房大战丰满熟妇|AV高清无码在线免费观看|另类AV日韩少妇熟女|中文日本大黄一级黄色片|色情在线视频免费|亚洲成人特黄a片|黄片wwwav色图欧美|欧亚乱色一区二区三区

RELATEED CONSULTING
相關(guān)咨詢
選擇下列產(chǎn)品馬上在線溝通
服務(wù)時(shí)間:8:30-17:00
你可能遇到了下面的問題
關(guān)閉右側(cè)工具欄

新聞中心

這里有您想知道的互聯(lián)網(wǎng)營(yíng)銷解決方案
如何使用Linuxsed刪除行尾空格?(linuxsed行尾空格)

在編程或運(yùn)維過程中,我們經(jīng)常需要處理文本文件。而文本文件中存在空格等無(wú)用字符,會(huì)對(duì)處理過程產(chǎn)生很大的干擾。因此,清除文本中的空格等無(wú)用字符是一項(xiàng)很重要的任務(wù)。其中,刪除行尾空格是一個(gè)常見的需求。在Linux中,我們可以使用sed命令快速清除文本中的行尾空格,并提高我們的處理效率。

創(chuàng)新互聯(lián)建站主營(yíng)天門網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,app軟件開發(fā),天門h5成都小程序開發(fā)搭建,天門網(wǎng)站營(yíng)銷推廣歡迎天門等地區(qū)企業(yè)咨詢

本文將介紹如何使用sed命令刪除行尾空格,并提供實(shí)用的代碼示例。本文所述的操作適用于所有Linux系統(tǒng),無(wú)論是桌面版還是服務(wù)器版。

一、sed命令簡(jiǎn)介

sed是一款非常常用的文本編輯工具,可以幫助我們處理各種文本文件。在Linux系統(tǒng)中,sed一般默認(rèn)安裝??梢酝ㄟ^下面的命令來(lái)檢查是否安裝了sed:

“`

$ sed –version

“`

如果輸出了版本號(hào),則表示sed已經(jīng)安裝成功。如果沒有,那么需要手動(dòng)安裝。

二、刪除行尾空格的命令

命令如下:

“`

sed -i ‘s/[ \t]*$//’ filename

“`

其中,filename是需要處理的文件名,必須加上文件擴(kuò)展名。-i表示直接修改文件內(nèi)容,如果不加-i,則只是輸出結(jié)果而不修改文件內(nèi)容。

該命令中,$表示匹配行尾位置,^表示匹配行首位置。[ \t]*表示匹配找到空格或Tab鍵,*表示匹配任意個(gè)數(shù)。最后的/表示正則表達(dá)式的結(jié)束符。

三、刪除指定行的行尾空格

如果我們需要?jiǎng)h除文本文件中的某幾行的行尾空格,可以借助行號(hào)進(jìn)行操作。命令如下:

“`

sed -i ‘2s/[ \t]*$//;4,8s/[ \t]*$//’ filename

“`

其中,2s表示只對(duì)第二行的行尾空格進(jìn)行刪除,4,8s表示從第四行到第八行的行尾空格進(jìn)行刪除。

四、刪除全部行尾空格

如果需要?jiǎng)h除文本文件中的所有行尾空格,那么只需要去掉行號(hào)即可。命令如下:

“`

sed -i ‘s/[ \t]*$//’ filename

“`

將其應(yīng)用到文件夾中的所有文本文件中,命令為:

“`

find /path/to/folder -type f -name “*.txt” -exec sed -i ‘s/[ \t]*$//’ {} \;

“`

其中/path/to/folder為需要處理的文件夾路徑,.txt為文件擴(kuò)展名。該命令將對(duì)該文件夾下所有 .txt 后綴的文本文件執(zhí)行刪除行尾空格操作,非常實(shí)用。

五、

通過本文的介紹,我們學(xué)習(xí)了如何使用sed命令刪除Linux中的行尾空格。使用sed命令刪除行尾空格,能夠提高我們的工作效率,快速完成編程或運(yùn)維任務(wù)。在實(shí)際應(yīng)用中,我們可以根據(jù)需求自由組合命令,實(shí)現(xiàn)精準(zhǔn)控制。希望這篇文章能夠?yàn)榇蠹以谌粘9ぷ髦械奈谋咎幚硖峁椭?/p>

相關(guān)問題拓展閱讀:

  • Linux中的sed是什么意思呢,如何使用呢

Linux中的sed是什么意思呢,如何使用呢

sed命令行格式為:

sed ‘command’ 輸入文本/文件

常用選項(xiàng):

n∶取消默認(rèn)的輸出,使用安靜(silent)模式。在一般 sed 的用法中,所有來(lái)自 STDIN的資料一般都會(huì)被列出到屏幕上。但如果加上 -n 參數(shù)后,則只有經(jīng)過sed 特殊處理的那一行(或者動(dòng)作)才會(huì)被列出來(lái)

e∶進(jìn)行多項(xiàng)編輯,即對(duì)輸入行應(yīng)用多條sed命令時(shí)使用. 直接在指令列模式上進(jìn)行 sed 的動(dòng)作編輯

f∶指定sed腳本的文件名. 直接將 sed 的動(dòng)作寫在一個(gè)早顫?rùn)n案內(nèi), -f filename 則可以執(zhí)行 filename 內(nèi)的sed 動(dòng)作

r∶sed 的動(dòng)作支援的是延伸型正則表達(dá)式的語(yǔ)法。(預(yù)設(shè)是基礎(chǔ)正則表達(dá)式語(yǔ)法)

i∶直接修改讀取的文件內(nèi)容,而不是由屏幕輸出

常用命令:

a ∶ 新增, a 的后面可以接字串,而這些字串會(huì)在新的一行出現(xiàn)(目前的下一行)

c ∶ 取代, c 的后面可以接字串,這些字串可以取代 n1,n2 之間的行

d ∶ 刪除,因?yàn)槭莿h除,所以 d 后面通常不接任何內(nèi)容

i ∶ 插入, i 的后面可以接字串,而這些字串會(huì)在新的一行出現(xiàn)(目前的上一行)

p∶ 列印,亦即將某個(gè)選擇的資料印出。通常 p 會(huì)與參數(shù) sed -n 一起用

s∶ 取代,可以直接進(jìn)行替換的工作。通常這個(gè) s 的動(dòng)作可以搭配正則表達(dá)式。例如 1,20s/old/new/g

定址

定址用于決定對(duì)哪些行賣睜襲進(jìn)行編輯。地址的形式可以是數(shù)字、正則表達(dá)式、或二者的結(jié)合。如果沒有指定地址,sed將處理輸入中兄文件的所有行。

地址是一個(gè)數(shù)字,則表示行號(hào);是“$”符號(hào),則表示最后一行。例如:

sed -n ‘3p’ datafile

只打印第三行

只顯示指定行范圍的文件內(nèi)容,例如:

# 只查看文件的第100行到第200行

sed -n ‘100,200p’ mysql_slow_query.log

地址是逗號(hào)分隔的,那么需要處理的地址是這兩行之間的范圍(包括這兩行在內(nèi))。范圍可以用數(shù)字、正則表達(dá)式、或二者的組合表示。例如:

sed ‘2,5d’ datafile

#刪除第二到第五行

sed ‘/My/,/You/d’ datafile

#刪除包含”My”的行到包含”You”的行之間的行

sed ‘/My/,10d’ datafile

#刪除包含”My”的行到第十行的內(nèi)容

舉例:(假設(shè)我們有一文件名為ab)

刪除某行

# sed ‘1d’ ab#刪除之一行

# sed ‘$d’ ab#刪除最后一行

# sed ‘1,2d’ ab#刪除之一行到第二行

# sed ‘2,$d’ ab#刪除第二行到最后一行

  顯示某行

. # sed -n ‘1p’ ab#顯示之一行

# sed -n ‘$p’ ab#顯示最后一行

# sed -n ‘1,2p’ ab#顯示之一行到第二行

# sed -n ‘2,$p’ ab#顯示第二行到最后一行

  使用模式進(jìn)行查詢

# sed -n ‘/ruby/p’ ab #查詢包括關(guān)鍵字ruby所在所有行

# sed -n ‘/\$/p’ ab#查詢包括關(guān)鍵字$所在所有行,使用反斜線\屏蔽特殊含義

  增加一行或多行字符串

# cat ab

Hello!

ruby is me,welcome to my blog.

end

# sed ‘1a drink tea’ ab #之一行后增加字符串”drink tea”

Hello!

drink tea

ruby is me,welcome to my blog.

end

# sed ‘1,3a drink tea’ ab #之一行到第三行后增加字符串”drink tea”

Hello!

drink tea

ruby is me,welcome to my blog.

drink tea

end

drink tea

# sed ‘1a drink tea\nor coffee’ ab #之一行后增加多行,使用換行符\n

Hello!

drink tea

or coffee

ruby is me,welcome to my blog.

end

  代替一行或多行

# sed ‘1c Hi’ ab #之一行代替為Hi

Hi

ruby is me,welcome to my blog.

end

# sed ‘1,2c Hi’ ab#之一行到第二行代替為Hi

Hi

end

  替換一行中的某部分

  格式:sed ‘s/要替換的字符串/新的字符串/g’ (要替換的字符串可以用正則表達(dá)式)

# sed -n ‘/ruby/p’ ab | sed ‘s/ruby/bird/g’ #替換ruby為bird

  # sed -n ‘/ruby/p’ ab | sed ‘s/ruby//g’#刪除ruby

插入

# sed -i ‘$a bye’ ab#在文件ab中最后一行直接輸入”bye”

# cat ab

Hello!

ruby is me,welcome to my blog.

end

bye

替換:

-e是編輯命令,用于sed執(zhí)行多個(gè)編輯任務(wù)的情況下。在下一行開始編輯前,所有的編輯動(dòng)作將應(yīng)用到模式緩沖區(qū)中的行上。

sed -e ‘1,10d’ -e ‘s/My/Your/g’ datafile

#選項(xiàng)-e用于進(jìn)行多重編輯。之一重編輯刪除第1-3行。第二重編輯將出現(xiàn)的所有My替換為Your。因?yàn)槭侵鹦羞M(jìn)行這兩項(xiàng)編輯(即這兩個(gè)命令都在模式空間的當(dāng)前行上執(zhí)行),所以編輯命令的順序會(huì)影響結(jié)果。

# 替換兩個(gè)或多個(gè)空格為一個(gè)空格

sed ‘s/*/ /g’ file_name

# 替換兩個(gè)或多個(gè)空格為分隔符:

sed ‘s/*/:/g’ file_name

# 如果空格與tab共存時(shí)用下面的命令進(jìn)行替換

# 替換成空格

sed ‘s/>>*/ /g’ filename

# 替換成分隔符:

sed ‘s/>>*/:/g’ filename

==============

sed命令的調(diào)用:

在命令行鍵入命令;將sed命令插入腳本文件,然后調(diào)用sed;將sed命令插入腳本文件,并使sed腳本可執(zhí)行

sed sed命令 輸入文件在命令行使用sed命令,實(shí)際命令要加單引號(hào)

sed -f sed腳本文件 輸入文件 使用sed腳本文件

sed腳本文件 輸入文件之一行具有sed命令解釋器的sed腳本文件

option如下:

n 不打印; sed不寫編輯行到標(biāo)準(zhǔn)輸出,缺省為打印所有行(編輯和未編輯),p命令可以用來(lái)打印編輯行

c 下一命令是編輯命令,使用多項(xiàng)編輯時(shí)加入此選項(xiàng)

f 如果正在調(diào)用sed腳本文件,使用此選項(xiàng),此選項(xiàng)通知sed一個(gè)腳本文件支持所用的sed命令,如

sed -f myscript.sed input_file 這里myscript.sed即為支持sed命令的文件

使用重定向文件即可保存sed的輸出

使用sed在文本中定位文本的方式:

xx為一行號(hào),比如1

x,y 表示行號(hào)范圍從x到y(tǒng),如2,5表示從第2行到第5行

/pattern/ 查詢包含模式的行,如/disk/或//

/pattern/pattern/ 查詢包含兩個(gè)模式的行,如/disk/disks/

/pattern/,x 在給定行號(hào)上查詢包含模式的行,如/disk/,3

x,/pattern/ 通過行號(hào)和模式查詢匹配行,如 3,/disk/

x,y! 查詢不包含指定行號(hào)x和y的行

基本sed編輯命令:

p 打印匹配行c/ 用新文本替換定位文本

= 顯示文件行號(hào) s 使用替換模式替換相應(yīng)模式

a/ 在定位行號(hào)后附加新文本信息r 從另一個(gè)文本中讀文本

i/ 在定位行號(hào)后插入新文本信息w 寫文本到一個(gè)文件

d 刪除定位行q 之一個(gè)模式匹配完成后退出或立即退出

l 顯示與八進(jìn)制ASCII代碼等價(jià)的控制字符y 傳送字符

n 從另一個(gè)文本中讀文本下一行,并附加在下一行 {} 在定位行執(zhí)行的命令組

g 將模式2粘貼到/pattern n/

基本sed編程舉例:

使用p(rint)顯示行: sed -n ‘2p’ temp.txt 只顯示第2行,使用選項(xiàng)n

打印范圍: sed -n ‘1,3p’ temp.txt打印第1行到第3行

打印模式: sed -n ‘/movie/’p temp.txt 打印含movie的行

使用模式和行號(hào)查詢: sed -n ‘3,/movie/’p temp.txt 只在第3行查找movie并打印

顯示整個(gè)文件: sed -n ‘1,$’p temp.txt $為最后一行

任意字符: sed -n ‘/.*ing/’p temp.txt 注意是.*ing,而不是*ing

打印行號(hào): sed -e ‘/music/=’ temp.txt

附加文本:(創(chuàng)建sed腳本文件)chmod u+x script.sed,運(yùn)行時(shí)./script.sed temp.txt

#!/bin/sed -f

/name1/ a/#a/表示此處換行添加文本

HERE ADD NEW LINE. #添加的文本內(nèi)容

插入文本: /name1/ a/ 改成 4 i/ 4表示行號(hào),i插入

修改文本: /name1/ a/ 改成 /name1/ c/ 將修改整行,c修改

刪除文本: sed ‘1d’ temp.txt 或者 sed ‘1,4d’ temp.txt

替換文本: sed ‘s/source/OKSTR/’ temp.txt 將source替換成OKSTR

sed ‘s//$//g’ temp.txt將文本中所有的$符號(hào)全部刪除

sed ‘s/source/OKSTR/w temp2.txt’ temp.txt 將替換后的記錄寫入文件temp2.txt

替換修改字符串: sed ‘s/source/”ADD BEFORE” &/p’ temp.txt

結(jié)果將在source字符串前面加上”ADD BEFORE”,這里的&表示找到的source字符并保存

sed結(jié)果寫入到文件: sed ‘1,2 w temp2.txt’ temp.txt

sed ‘/name/ w temp2.txt’ temp.txt

從文件中讀文本: sed ‘/name/r temp2.txt’ temp.txt

在每列最后加文本: sed ‘s/*/& Pass/g’ temp.txt

從shell向sed傳值: echo $NAME | sed “s/go/$REP/g” 注意需要使用雙引號(hào)

快速一行命令:

‘s//.$//g’刪除以句點(diǎn)結(jié)尾行

‘-e /abcd/d’刪除包含abcd的行

‘s/*//g’ 刪除一個(gè)以上空格,用一個(gè)空格代替

‘s/^*//g’ 刪除行首空格

‘s//.*//g’ 刪除句號(hào)后跟兩個(gè)或更多的空格,用一個(gè)空格代替

‘/^$/d’刪除空行

‘s/^.//g’刪除之一個(gè)字符,區(qū)別 ‘s//.//g’刪除所有的句點(diǎn)

‘s/COL/(…/)//g’ 刪除緊跟COL的后三個(gè)字母

‘s/^////g’刪除路徑中之一個(gè)/

///////////////////////////////////////////////////////////////////////

、使用句點(diǎn)匹配單字符 句點(diǎn)“.”可以匹配任意單字符。“.”可以匹配字符串頭,也可以是中間任意字符。假定正在過濾一個(gè)文本文件,對(duì)于一個(gè)有1 0個(gè)字符的腳本集,要求前4個(gè)字符之后為X C,匹配操作如下:. . . .X C. . . .

2、在行首以^匹配字符串或字符序列 ^只允許在一行的開始匹配字符或單詞。在行首第4個(gè)字符為1,匹配操作表示為:^ . . . 1

3、在行尾以$匹配字符串或字符 可以說$與^正相反,它在行尾匹配字符串或字符, $符號(hào)放在匹配單詞后。如果在行尾匹配單詞j e t 0 1,操作如下:j e t 0 1 $ 如果只返回包含一個(gè)字符的行,操作如下:^ . $

4、使用*匹配字符串中的單字符或其重復(fù)序列 使用此特殊字符匹配任意字符或字符串的重復(fù)多次表達(dá)式。

5、使用/屏蔽一個(gè)特殊字符的含義 有時(shí)需要查找一些字符或字符串,而它們包含了系統(tǒng)指定為特殊字符的一個(gè)字符。如果要在正則表達(dá)式中匹配以* . p a s結(jié)尾的所有文件,可做如下操作:/ * / . p a s

6、使用匹配一個(gè)范圍或 使用匹配特定字符串或字符串集,可以用逗號(hào)將括弧內(nèi)要匹配的不同字符串分開,但并不強(qiáng)制要求這樣做(一些系統(tǒng)提倡在復(fù)雜的表達(dá)式中使用逗號(hào)),這樣做可以增 加模式的可讀性。使用“ -”表示一個(gè)字符串范圍,表明字符串范圍從“ -”左邊字符開始,到“ -”右邊字符結(jié)束。假定要匹配任意一個(gè)數(shù)字,可以使用: 要匹配任意字母,則使用:表明從A – Z、a – z的字母范圍。

7、使用/{/}匹配模式結(jié)果出現(xiàn)的次數(shù) 使用*可匹配所有匹配結(jié)果任意次,但如果只要指定次數(shù),就應(yīng)使用/ { / },此模式有三種形式,即:

pattern/{n/} 匹配模式出現(xiàn)n次。

pattern/{n,/} 匹配模式出現(xiàn)最少n次。

pattern/{n,m} 匹配模式出現(xiàn)n到m次之間,n , m為中任意整數(shù)。

匹配字母A出現(xiàn)兩次,并以B結(jié)尾,操作如下:A / { 2 / } B匹配值為A A B 匹配A至少4次,使用:A / { 4 , / } B

===============

替換單引號(hào)為空:

可以這樣寫:

sed ‘s/'”‘”‘//g’

sed ‘s/’\”//g’

Sed是一項(xiàng)Linux指令,全稱是Stream

EDitor,功能同awk類似,差別在大鎮(zhèn)于,sed簡(jiǎn)單,對(duì)列處理的功能要差一些,awk的功能復(fù)雜,對(duì)列處理的功能比較強(qiáng)大。Sed主要用于自動(dòng)編輯一個(gè)或者多個(gè)文件,多用于腳本中對(duì)文件的處理。

Sed命令可以對(duì)文件進(jìn)行增加、刪除、修改和查找操作,所以學(xué)好sed命令是寫自動(dòng)化腳本必須的基礎(chǔ)之一。

調(diào)用sed命令有兩種形式:

sed ‘command’ file(s)

sed -f scriptfile file(s)

sed命令主要選項(xiàng)

-e command,–expression=command允許多臺(tái)編輯。

-h,–help打印幫助,并顯示bug列表的地址。

-n,–quiet,–silent取消默認(rèn)輸出。

-f,–filer=script-file引導(dǎo)sed腳本文件名。

-V,–version打印版本和版權(quán)信息。

命令:

a\在當(dāng)前行后面加入一行文本。

b label分支到腳本中帶有標(biāo)記的地方,如果分支不存在則分支到腳本的末尾。

c\用新的文本改變本行的文本。

d 從模板塊位置刪除行。

D 刪除模板塊的之一行。

i\在當(dāng)前行上面插入文本。

h拷貝模板塊的內(nèi)容到內(nèi)存中的緩沖區(qū)。

H 追加模板塊的內(nèi)容到內(nèi)存中的緩沖區(qū)。

g 獲得內(nèi)存緩沖區(qū)的內(nèi)容,并替代當(dāng)前模板塊中的文本。

G 獲得內(nèi)存緩沖區(qū)的內(nèi)容,并追加到當(dāng)前模板塊文本的后面。

l 列表不能打印字符的清單。

n 讀取下一個(gè)輸入行,用下一個(gè)命令處理新的行而不是用之一個(gè)命令。

N 追加下一個(gè)輸入行到模板塊后面并在二者間嵌入一個(gè)新行,改變當(dāng)前行號(hào)碼。

p 打印模板塊的行。

P 打印模板塊的之一行。

q 退出Sed。

r file從file中讀行。

t labelif分支,從最后一行開始,條件一旦滿足或者T,t命令,將導(dǎo)致分支到帶有標(biāo)號(hào)的命令處,或者到腳本的末尾。

T label錯(cuò)誤分支,從最后一行開始,一旦發(fā)生錯(cuò)誤或者T,t命令,將導(dǎo)致分支到帶有標(biāo)號(hào)的命令處,或者到腳本的末尾。

w file寫并追加模板塊到file末尾。

W file寫并追加模板塊的之一行到file末尾。

! 表示后面的命令對(duì)所有沒有被選定的行發(fā)生作用。

s/re/string 用string替換正則表達(dá)式re。

= 打印當(dāng)槐仿游前鉛銷行號(hào)碼。

linux sed 行尾 空格的介紹就聊到這里吧,感謝你花時(shí)間閱讀本站內(nèi)容,更多關(guān)于linux sed 行尾 空格,如何使用Linux sed刪除行尾空格?,Linux中的sed是什么意思呢,如何使用呢的信息別忘了在本站進(jì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ù)器等。


分享題目:如何使用Linuxsed刪除行尾空格?(linuxsed行尾空格)
分享網(wǎng)址:http://www.5511xx.com/article/djgpogp.html