這周我們學習了很多比較深的命令,有點燒腦,這次我總結一下sed命令。
sed 是一種流編輯器,它一次處理一行內容。處理時,把當前處理的行存儲在臨時緩沖區中,稱為“模式空間”(patternspace ),接著用sed 命令處理緩沖區中的內容,處理完成后,把緩沖區的容送往屏幕。然后讀入下行,執行下一個循環。如果沒有使諸如‘D’ 的特殊命令,那會在兩個循環之間清空模式空間,但不會清空保留空間。這樣不斷重復,直到文件末尾。文件內容并沒有改變,除非你使用重定向存儲輸出。
? 功能:主要用來自動編輯一個或多個文件, 簡化對文件的反復操作,
-n :不輸出模式空間內容到屏幕,即不自動打印
g: 行內全局替換
p: 顯示替換成功的行
s/// :查找替換, 支持使用其它分隔符,s@@@ ,s###
地址定界:
(1) 不給地址:對全文進行處理
(2) 單地址:
#: 指定的行
/pattern/ :被此處模式所能夠匹配到的每一行
(3) 地址范圍:
#,#
#,+#
/pat1/,/pat2/
#,/pat1/
~ :步進
1~2 奇數行
2~2
w: 保存模式匹配的行至指定文件
r:讀取指定文件的文本至模式空間中匹配到的行后
加-r 可以使用正則
今天就先總結到這里吧
原創文章,作者:menger,如若轉載,請注明出處:http://www.www58058.com/85597