溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

shell sed流編輯器

發(fā)布時間:2020-06-28 18:24:12 來源:網(wǎng)絡(luò) 閱讀:136444 作者:大阿鵬 欄目:系統(tǒng)運維

sed介紹

sed(stream editor)是一種非交互式的流編輯器,通過多種轉(zhuǎn)換修改流經(jīng)它的文本。默認(rèn)情況下,sed不會改變原文件本身,而只是對流經(jīng)sed命令的文本進(jìn)行修改,并將修改后的結(jié)果打印到標(biāo)準(zhǔn)輸出中。

sed處理文本時是以行為單位的,每處理完一行就立即打印出來,然后再處理下一行,直至全文處理結(jié)束。sed可做編輯動作包括刪除、查找替換、添加、插入、從其他文件讀入數(shù)據(jù)等。

?

sed命令使用的場景包括以下一些:

常規(guī)編輯器編輯困難的文本。

太過龐大的文本,使用常規(guī)編輯器難以勝任(如vi一個幾百兆的文件)。

有規(guī)律的文本修改,加快文本處理速度(比如說全文替換)。

?

sed命令的功能十分強(qiáng)大,由于sed本身的復(fù)雜度,以及和正則表達(dá)式的結(jié)合,使用sed命令非常難以掌握。只有不斷的多讀用,才能深刻的理解和記住sed的功能。

?

sed常用的命令:

sed命令 ? ?作用 ? ?

a ? ?在匹配行后面加入文本 ? ?

c ? ?字符轉(zhuǎn)換 ? ?

d ? ?刪除行 ? ?

D ? ?刪除第一行 ? ?

i ? ?在匹配行前面接入文本 ? ?

h?? 復(fù)制模板塊的內(nèi)容到存儲空間 ? ?

H ? ?追加模板塊的內(nèi)容到存儲空間 ? ?

g ? ?將存儲空間的內(nèi)容復(fù)制到模式空間 ? ?

G ? ?將存儲空間的內(nèi)容追加到模式空間 ? ?

n ? ?讀取下一個輸入行,用下一個命令處理新的行 ? ?

N ? ?追加下一個輸入行到模板塊后并在二者間插入新行 ? ?

p ? ?打印匹配的行 ? ?

P ? ?打印匹配的第一行 ? ?

q ? ?退出sed ? ?

r ? ?從外部文件中讀取文本 ? ?

w ? ?追加寫文件 ? ?

! ? ?匹配的逆 ? ?

s/old/new ? ?用new替換正則表達(dá)式old ? ?

= ? ?打印當(dāng)前行號 ? ?

?

?

sed常用的參數(shù):

sed參數(shù) ? ?作用 ? ?

-e ? ?多條件編輯 ? ?

-h ? ?幫助信息 ? ?

-n ? ?不輸出不匹配的行 ? ?

-f ? ?指定sed腳本 ? ?

-V ? ?版本信息 ? ?

-i ? ?直接修改原文件 ? ?

?



??

?

?

?

?





向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI