shell指令碼 文字處理三劍客之 sed基礎使用

2021-10-05 10:31:06 字數 2826 閱讀 9458

sed的工作模式

基礎介紹  sed(stream editor) 流編輯器. 對標準輸出或檔案逐行進行處理

語法格式

第一種

stdout | sed [option] "pattern command"
第二種

sed [options] "pattern command" file
set的選項

選項                        含義

-n 只列印模式匹配

-e 直接在命令列進行sed編輯,默然選項

-f 編輯動作儲存在檔案中,指定檔案執行

-r 支援拓展正規表示式

-i 直接修改檔案內容

-p再次輸出命令

$ sed 'p' sed.txt 

i love python

i love python

i love python

i love python

hoodep

hoodep

-n 只列印匹配模式

$sed -n 'p' sed.txt

i love python

i love python

hoodep

'/python/' 為固定模式

$ sed -n '/python/p' sed.txt 

i love python

-e 多個命令執行

$ sed -n -e '/python/p' -e '/python/p' sed.txt 

i love python

i love python

-f 執行edit.sed中的文字命令

$ sed -n -f edit.sed  sed.txt
-r 支援拓展表示式

$ sed -n '/python\|python/p' sed.txt 

i love python

i love python

$ sed -n -r '/python|python/p' sed.txt

i love python

i love python

-i 直接修改檔案內容 ,不帶-i直接修改輸出內容

$ sed -n 's/love/like/g;p' sed.txt 

i like python

i like python

hoodep

$ sed -n -i 's/love/like/g;p' sed.txt

$ cat sed.txt

i like python

i like python

hoodep

sed中的pattern詳解

pattern用法表

匹配模式 含義

10command 匹配到第10行

10,20command 匹配從第10行開始到,到20行結束

10,+5command 匹配從第10行開始到,到16行結束

/pattern1/command 匹配到pattern1的行

/pattern1/,/pattern2/command 匹配到pattern1的開始 到匹配到pattern2的行結束

10,/pattern1/command 匹配從第10行開始,匹配到pattern1的行結束

/pattern1/,10command 匹配到的pattern1的行開始,到第10行匹配結束

列印指定行

$ sed -n 2p sed.txt 

i like python

列印一定範圍的行

sed -n '3,4p' sed.txt 

hoodep

/pattern1/command   正則匹配模式

$  sed -n '/^root/p' /etc/passwd

root:x:0:0:root:/root:/bin/bash

/pattern1/,/pattern2/command  

$ sed -n '/^root/,/^chencl/p' /etc/passwd

root:x:0:0:root:/root:/bin/bash

...........

chencl:x:1000:1000:chencl,,,:/home/chencl:/bin/bash

文字處理三劍客

文字處理三劍客 劍客一 grep 作用 行 過濾 用法 grep 正規表示式 檔案 路徑 grep e 擴充套件類正規表示式 檔案 路徑 劍客二 sed 用法 sed 選項 位址定位sed命令 檔案 路徑 sed 選項 正規表示式 sed命令 檔案 路徑 sed 選項 位址定位 正規表示式 sed命...

Shell文字處理三劍客之grep

過濾來自乙個檔案或標準輸入匹配模式內容。除了grep外,還有egrep fgrep。egrep是grep的擴充套件,相當於grep e。fgrep相當於grep f,用的少。usage grep option pattern file 支援的正則 描述 e,extended regexp 模式是擴充...

Shell 文字處理三劍客之grep

e,extended regexp 模式是擴充套件正規表示式 i,ignore case 忽略大小寫 n,line number 列印行號 v,invert match 列印不匹配的行 o,only matching 只列印匹配的內容 m,max count num 輸出匹配的結果 num 數 c,...