shell sed流編輯器

sed介紹正則表達式

sed(stream editor)是一種非交互式的流編輯器,經過多種轉換修改流經它的文本。默認狀況下,sed不會改變原文件自己,而只是對流經sed命令的文本進行修改,並將修改後的結果打印到標準輸出中。編輯器

sed處理文本時是以行爲單位的,每處理完一行就當即打印出來,而後再處理下一行,直至全文處理結束。sed可作編輯動做包括刪除、查找替換、添加、插入、從其餘文件讀入數據等。ide

 

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

常規編輯器編輯困難的文本。it

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

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

 

sed命令的功能十分強大,因爲sed自己的複雜度,以及和正則表達式的結合,使用sed命令很是難以掌握。只有不斷的多讀用,才能深入的理解和記住sed的功能。stream

 

sed經常使用的命令:sed

sed命令    做用    數據

a    在匹配行後面加入文本    

c    字符轉換    

d    刪除行    

D    刪除第一行    

i    在匹配行前面接入文本    

h   複製模板塊的內容到存儲空間    

H    追加模板塊的內容到存儲空間    

g    將存儲空間的內容複製到模式空間    

G    將存儲空間的內容追加到模式空間    

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

N    追加下一個輸入行到模板塊後並在兩者間插入新行    

p    打印匹配的行    

P    打印匹配的第一行    

q    退出sed    

r    從外部文件中讀取文本    

w    追加寫文件    

!    匹配的逆    

s/old/new    用new替換正則表達式old    

=    打印當前行號    

 

 

sed經常使用的參數:

sed參數    做用    

-e    多條件編輯    

-h    幫助信息    

-n    不輸出不匹配的行    

-f    指定sed腳本    

-V    版本信息    

-i    直接修改原文件    

相關文章
相關標籤/搜索