sed
用法的小技巧
(1)在查詢範圍時不需要用到替換,所以不用
s;(2)當只需要列印被修改行時,可以使用
-n 和
–p 選項,注意二者一定配合使用;
3種方式指定命令列上的多重指令
(1)用逗號分隔指令
;(2)在每個指令前放置
-e(3)輸入單分號後敲擊
return
刪除:
d命令
$ sed '2d' example-----刪除
example
檔案的第二行。
$ sed '2,$d' example-----
刪除example
檔案的第二行到末尾所有行。
$ sed '$d' example-----
刪除example
檔案的最後一行。
$ sed '/test/'d example-----
刪除example
檔案所有包含
test
的行。替換:
s命令
$ sed 's/test/mytest/g' example-----在整行範圍內把
test
替換為mytest
。如果沒有
g標記,
則只有每行第乙個匹配的
test
被替換成
mytest
。$ sed -n 's/^test/mytest/p' example-----(-n)選項和
p標誌一起使用表示只列印那些發生替換的行。
也就是說,如果某一行開頭的
test
被替換成
mytest
,就列印它。
$ sed 's/^192.168.0.1/&localhost/' example-----&符號表示替換字串中被找到的部份。
所有以192.168.0.1
開頭的行都會被替換成它自已加
localhost
,變成192.168.0.1localhost
。$ sed -n 's/\(love\)able/\1rs/p' example-----love被標記為1,
所有loveable
會被替換成
lovers
,而且替換的行會被列印出來。
$ sed 's#10#100#g' example-----不論什麼字元,緊跟著
s命令的都被認為是新的分隔符,
所以,「
#」 在這裡是分隔符,代替了預設的「
/」 分隔符。表示把所有
10替換成
100。
選定行的範圍:逗號
注意:【在查詢範圍時不需要用到替換,所以不用s.】
$ sed -n '/test/,/check/p' example-----所有在模板
test
和check
所確定的範圍內的行都被打
印。$ sed -n '5,/^test/p' example-----列印從第五行開始到第乙個包含以
test
開始的行之間的所
有行。$ sed '/test/,/check/s/$/xiong test/' example-----對於模板
test
和check
之間的行,每行的末
尾用字串
xiong test
替換。從檔案讀入
:r命令
$ sed '/test/r file' example-----file裡的內容被讀進來,顯示在與
test
匹配的行後面,如果
匹配多行,則
file
的內容將顯示在所有匹配行的下面。
寫入檔案
:w命令
$ sed -n '/test/w file' example-----在
example
中所有包含
test
的行都被寫入
file
裡。
$ sed '1,2 w filedt' quote.txt------將quote.txt檔案中的前2行寫入到檔案filedt中;
追加命令:
a命令
$ sed '/^test/a\\--->this is a example' example $ sed '/test/i\\
new line
-------------------------' example
如果test
被匹配,則把反斜槓後面的文字插入到匹配行的前面。
下乙個:
n命令
$ sed '/test/' example-----如果
test
被匹配,則移動到匹配行的下一行,替
換這一行的
aa,變為
bb,並列印該行,然後繼續。
變形:
y命令
$ sed '1,10y/abcde/abcde/' example-----把
1--10
行內所有
abcde
轉變為大寫,注意,正則表達
式元字元不能使用這個命令。
退出:
q命令
$ sed '10q' example-----列印完前
10行後,退出
sed。
保持和獲取:
h命令和g命令
sed基礎命令彙總
sed流編輯器 一次處理一行內容 原檔案不會被改變 a 新增 sed e 2 a haha test01.txt 在第2行後邊新增haha 新增是在指定行的後邊新增 c 取代 sed e 1c csdn test01.txt 1是行號 把第一行的內容用csdn來替代 d 刪除 sed e 3d te...
sed命令基礎2
我在sed命令基礎 裡面說了一下sed的基礎用法,sed還有一些高階用法,由於我也是在學習中,寫的部落格可能會有想不到的地方,有問題希望大家指出。sed的高階用法主要在於兩個空間的使用,模式空間和保持空間,模式空間就是我們對於進入其中的語句進行處理的空間,保持空間就像是乙個臨時的交換swap,我們可...
sed命令與awk命令基礎
命令格式 sed option script file e script 在處理輸入時,將script中指定的命令新增到已有的命令中 f file 在處理輸入時,將file中指定的命令新增到已有的命令中 n 不產生命令輸出,使用print命令來完成輸出 s s命令會用斜線間指定的第二個文字字串來替換...