sed的選項與命令簡要

來源:互聯網
上載者:User

標籤:des   style   class   ext   com   使用   

第一部分:sed命令選項

sed選項 說明
-n, --quiet, --silent 靜默模式,取消將模式空間中的內容自動列印出來。
-e script, --expression=script 以選項指定的script來處理文本。
-f script‐file, --file=script‐file 以選項指定的script‐file檔案來處理文本,也就是可以將sed程式寫到檔案中,然後通過‐f選項指定sed程式。
-i[SUFFIX], --in-place[=SUFFIX] 就地編輯檔案,如果指定了‐i的值(suffix)sed將會備份一份原檔案。
-l N, --line-length=N 也就是說如果後面的command中如果有l(是英文L的小寫),就可以通過這裡的‐l選項來指定每一行的顯示長度,預設是70個字元,如果超過,將會通過跳脫字元“\”來換行。例如 sed ‐n ‐l 10 ‘1,2l‘ textfile 將第一和第二行按每行10個字元顯示,包括逸出字元。 注意:該選項必須要與後面的 –e 指定的指令l一起用。
--posix 禁用所有的GNU擴充。
-r, --regexp-extended 在指令碼中使用擴充Regex。
-s, --separate 將輸入檔案視為各個獨立的檔案而不是一個長的連續輸入。
--version 查看當前sed版本
-u, --unbuffered 從輸入檔案裝載最少的資料,並且重新整理輸出緩衝區,也就是說盡量少緩衝input和output 要隨時更新。

 

第二部分:sed命令

sed命令 說明
a 在當前合格行後面插入文本行,新的文本行用反斜線“\”與a命令隔開。
c 用新的文本去修改選定的行,新的文本行用反斜線“\”與c命令隔開。
i 在當前合格行的前面插入文本行,新的文本行用反斜線“\”與i命令隔開。
d 刪除模式空間中的全部行,繼續進行下一行。
D 在模式空間中刪除掉第一行文本,開始從input中讀取下一行,但是如果此時模式空間中還有文本行,將會再用這個資料行進行sed script一次。
p 列印當前模式空間(Pattern space)中的全部內容。
P 列印當前模式空間(Pattern space)中內容的第一行資料。
q 馬上退出sed命令,不再處理任何輸入,除非沒有加‐n(禁止自動輸出)選項,否則sed還會將當前模式空間中的內容(當前處理行)輸出。
Q 馬上退出sed命令,不再處理任何輸入
n 將當前行的下一行資料覆蓋進當前模式空間(Pattern space)的內容中。
N 將當前行的下一行資料追加進當前模式空間(Pattern space)的內容中。
h 將模式空間(Pattern space)中的資料複製到保留空間(Hold space)中。
H 將模式空間(Pattern space)中的資料追加到保留空間(Hold space)中。
g 將保留空間(Hold space)的資料複製到模式空間(Pattern space)中。
G 將保留空間(Hold space)的資料追加到模式空間(Pattern space)中。
x 交換保留空間(Hold space)和模式空間(Pattern space)的內容。
r 從指定的檔案中讀取內容,附加到選定行之後。
R 從指定的檔案中讀取第一行,附加到選定行之後。
將當前模式空間(Pattern space)的全部內容寫入到指定檔案中
將當前模式空間(Pattern space)內容中的第一行寫入到指定檔案中。
l 將當前行以可見的嚴格的形式列出來。
= 輸出當前處理行的行號。
F 列印當前的輸入檔案的檔案名稱。
e 此命令後可以執行shell命令
{command} 命令分組
後面的命令對所有沒有被匹配的行發生作用
b label 將控制分支到標籤,如果標籤被忽略,將控制分支到指令碼後面。
t label 如果s指令發生替換操作,儘管已經讀入輸入的最後一行,或者已經是最後的t、T,都會轉移到指定的標籤後;如果忽略具體的標籤,將會將控制轉移到指令碼末尾。
T label 和t差不多,只是這裡是s指令沒有發生替換操作然後就轉移控制到指定標籤,如果s指令發生替換,就不轉移控制。
s/regexp/replacement/ 嘗試對模式空間中的內容進行Regex“regexp”的匹配,如果匹配成功,將會用“replacement”來代替匹配的部分;“replacement”可以包含特殊字元“&”,“&”用來代替匹配“regexp”的模式空間的內容,而\1、\2、\3……\9表示“regexp”的子運算式的匹配內容。
y/source/dest/ 用另一種字母體系將模式空間(Patter space)內出現的“source”字元替換成對應的“dest”字元。



 

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.