Sed命令基礎操作

2022-02-02 20:18:09 字數 2804 閱讀 2942

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命令會用斜線間指定的第二個文字字串來替換...