linux 三劍客老二sed

2021-09-29 08:33:32 字數 2125 閱讀 1408

我們知道,vim 採用的是互動式文字編輯模式,你可以用鍵盤命令來互動性地插入、刪除或替換資料中的文字。但 sed 命令卻不同,它採用的是流編輯模式,最明顯的特點是,在 sed 處理資料之前,需要預先提供一組規則,sed 會按照此規則來編輯資料

大致規則如下:

1、每次僅讀取一行內容

2、根據提供的規則命令匹配並修改資料。注意,sed 預設不會直接修改原始檔資料,而是會將資料複製到模式空間中,修改也僅限於模式空間中的資料

3、將執行結果輸出,當一行資料匹配完成後,它會繼續讀取下一行資料,並重複這個過程,直到將檔案中所有資料處理完畢

選項作用

- n取消預設輸出

- i直接修改檔案內容,而不是輸出到終端

- e允許多項

- r支援擴充套件正則

sed 特有子命令

選項作用s替換

g全域性p列印

d刪除a追加,多少行後

i插入,多少行後c取代

!取反示例:1、把網絡卡資訊中ip取出

[root@yu zy]

# ip a s ens33

2: ens33:

mtu 1500 qdisc pfifo_fast state up group default qlen 1000

link/ether 00:0c:29:0b:67:f6 brd ff:ff:ff:ff:ff:ff

inet 10.0.0.200/24 brd 10.0.0.255 scope global noprefixroute ens33

valid_lft forever preferred_lft forever

inet6 fe80::ae63:3bd2:b1a7:f2aa/64 scope link noprefixroute

valid_lft forever preferred_lft forever

[root@yu zy]

# ip a s ens33 | sed -rn '3s#^.*inet (.*)/24 .*$#\1#gp'

10.0.0.200

2、刪除指定行資訊

[root@yu zy]

# cat 123.txt

type=ethernet

proxy_method=none

browser_only=no

2222222

bootproto=none

[root@yu zy]

# sed '2d' 123.txt

type=ethernet

browser_only=no

2222222

bootproto=none

3、追加和插入

[root@yu zy]

# cat 123.txt

type=ethernet

proxy_method=none

browser_only=no

2222222

bootproto=none

[root@yu zy]

# sed '2a 2222' 123.txt

type=ethernet

proxy_method=none

2222

browser_only=no

2222222

bootproto=none

[root@yu zy]

# sed '2i 2222' 123.txt

type=ethernet

2222

proxy_method=none

browser_only=no

2222222

bootproto=none

[root@yu zy]

# sed '2c 123123123' 123.txt

type=ethernet

123123123

browser_only=no

2222222

bootproto=none

文字三劍客 sed

sed是linux中支援正規表示式的流編輯器 作用 修改和替換文字 sed擁有兩個兩個空間,分別是pattern space和hold space pattern space是處理資料的地方 注意 每處理一行資料後,模式空間就會清空 hold space是臨時存放資料的地方 模式空間 pattern...

2,linux 三劍客之老二 grep

linux grep 命令用於查詢檔案裡符合條件的字串。e 解釋pattern作為擴充套件正規表示式,也就相當於使用egrep。或操作 i 搜尋時候忽略大小寫 v 反轉匹配,選擇沒有被匹配到的內容。c 統計行數 l 列出檔案內容不符合指定的範本樣式的檔名稱 l 列出檔案內容符合指定的範本樣式的檔名稱...

Linux三劍客sed基礎演示

一 sed 文字處理工具原理及使用 sed是一種非互動式的流編輯器,可動態編輯檔案 流編輯器則會在編輯器處理資料之前基於預先提供的一組 規則來編輯資料流 sed本身是乙個管道命令,可以分析 standard input 的,主要是用來分析關鍵字的使用 統計等,此外還可 以將資料進行替換 刪除 選中 ...