Linux基礎學習之 sed 命令用法

2021-09-13 12:02:07 字數 1878 閱讀 6072

sed [option]… 『script』 inputfile…

1、常用選項:

-n:不輸出模式空間內容到螢幕,即不自動列印

-e: 多點編輯

-f:/path/script_file: 從指定檔案中讀取編輯指令碼

-r: 支援使用擴充套件正規表示式

-i.bak: 備份檔案並原處編輯

-p 列印

『位址命令』 ----預設則對整個問價進行修改

不輸入命令則預設列印

2、sed工具

sed -n 「2p」 passwd

列印2行

「#數字」: 指定的行,$:最後一行

/pattern/:被此處模式所能夠匹配到的每一行

##,+#

/pat1/,/pat2/

#,/pat1/

(4) ~:步進

1~2 奇數行

2~2 偶數行

sed -n 「1~2p」

sed -n 「1-2d」

d: 刪除模式空間匹配的行,並立即啟用下一輪迴圈

p:列印當前模式空間內容,追加到預設輸出之後

a text:在指定行後面追加文字

支援使用\n實現多行追加

i text:在行前面插入文字

c text:替換行為單行或多行文字

w /path/somefile: 儲存模式匹配的行至指定檔案

r /path/somefile:讀取指定檔案的文字至模式空間中匹配到的行後

=: 為模式空間中的行列印行號

!:模式空間中匹配行取反處理

s///:查詢替換,支援使用其它分隔符,s@@@,s###

s#需要替代內容#替代後內容#

g: 行內全域性替換

p: 顯示替換成功的行

w /path/to/somefile:將替換成功的行儲存至檔案中

sed示例

◆ sed 『2p』 /etc/passwd

◆ sed –n 『2p』 /etc/passwd

◆ sed –n 『1,4p』 /etc/passwd

◆ sed –n 『/root/p』 /etc/passwd

◆ sed –n 『2,/root/p』 /etc/passwd 從2行開始

◆ sed -n 『/^$/=』 file 顯示空行行號

◆ sed –n –e 『/^katex parse error: expected group after '^' at position 10: /p』 –e 『/^̲/=』 file

多點操作

◆ sed 『/root/a\superman』 /etc/passwd行後

◆ sed 『/root/i\superman』 /etc/passwd 行前

◆ sed 『/root/c\superman』 /etc/passwd 代替行

sed示例

◆sed 『/^$/d』 file

◆sed 『1,10d』 file

◆nl /etc/passwd | sed 『2,5d』

◆nl /etc/passwd | sed 『2a tea』

◆sed 『s/test/mytest/g』 example

◆sed –n 『s/root/&superman/p』 /etc/passwd 單詞後

◆sed –n 『s/root/superman&/p』 /etc/passwd 單詞前

◆sed -e 『s/dog/cat/』 -e 『s/hi/lo/』 pets

◆sed –i.bak 『s/dog/cat/g』 pets

修改檔案,先備份,備份檔案名 .bak

linux基礎命令之sed

sed是乙個流編輯器,英文全名為stream editor,流的意思就是能處理檔案或者通過管 道傳輸來的資料。主要針對行,也就是行編輯。預設是不編輯檔案的,處理時,把當前 處理的行儲存在臨時緩衝區中,稱之為模式空間 pattern space 接著用sed命令處理 緩衝區中的內容,處理完成後,預設把...

Linux學習之sed命令詳解

sed是stream editor的簡稱,也就是流編輯器。它一次處理一行內容,處理時,把當前處理的行儲存在臨時緩衝區中,稱為 模式空間 pattern space 接著用sed命令處理緩衝區中的內容,處理完成後,把緩衝區的內容送往螢幕。接著處理下一行,這樣不斷重複,直到檔案末尾。檔案內容並沒有 改變...

Linux 命令sed 學習

sed常用的命令選項表 命令選項 功能描述 r支援正規表示式 i suffix 直接修改原始檔,如果設定了suffix 字尾名,sed會將資料備份 n silent 遮蔽預設輸出功能,預設sed會把匹配到的資料顯示到螢幕上 e指定需要執行的sed 指令,支援使用多個帶 e 引數 f指定需要執行的指令...