sed是一種流編編器,它是文本處理中非常中的工具,能夠完美的配合正則表達(dá)式便用,功物能不同凡響。
處理時(shí),把當(dāng)前處理的行存儲在臨時(shí)緩沖區(qū)中,稱為”模式空間”( oattern space)linux命令,接看用sed命令處理緩沖區(qū)中的內(nèi)容,處理成后,把緩沖區(qū)的內(nèi)容送往屏幕顯示。
接著理下一行,這樣不斷重復(fù),直到文件末。文件內(nèi)容沒有改改變,除非使用了寫入的命令,將內(nèi)容更新。
-ffs fs指定輸入分隔符,fs可以是字符串或正則表達(dá)式linux命令,如-f:。用正則表達(dá)式限制只能輸入數(shù)字和英文:onkeyup=”value=”/blog/value.replace(/[w]/g,””)“onbeforepaste=”clipboarddata.setdata(’text’,clipboarddata.getda。用正則表達(dá)式限制只能輸入數(shù)字:onkeyup=”value=”/blog/value.replace(/["^d] /g,”)“onbeforepaste=“clipboarddata.setdata(’text’,clipboarddata.getdata(’text’).replace(/[^d]/g,”))”。
命令 功能 a\ 在當(dāng)前行后添加一行或多行。多行時(shí)除最后一行外,每行末尾需用“\”續(xù)行 c\ 用此符號后的新文本替換當(dāng)前行中的文本。多行時(shí)除最后一行外,每行末尾需用"\"續(xù)行 i\ 在當(dāng)前行之前插入文本。多行時(shí)除最后一行外,每行末尾需用"\"續(xù)行 d 刪除行 h 把模式空間里的內(nèi)容復(fù)制到暫存緩沖區(qū) H 把模式空間里的內(nèi)容追加到暫存緩沖區(qū) g 把暫存緩沖區(qū)里的內(nèi)容復(fù)制到模式空間,覆蓋原有的內(nèi)容 G 把暫存緩沖區(qū)的內(nèi)容追加到模式空間里,追加在原有內(nèi)容的后面 l 列出非打印字符 p 打印行 n 讀入下一輸入行,并從下一條命令而不是第一條命令開始對其的處理 q 結(jié)束或退出sed r 從文件中讀取輸入行 ! 對所選行以外的所有行應(yīng)用命令 s 用一個(gè)字符串替換另一個(gè) g 在行內(nèi)進(jìn)行全局替換 w 將所選的行寫入文件 x 交換暫存緩沖區(qū)與模式空間的內(nèi)容 y 將字符替換為另一字符(不能對正則表達(dá)式使用y命令)
p==print d:delete =:打印匹配行的行號 -n 取消默認(rèn)的完整輸出,只要需要的 -e 允許多項(xiàng)編輯 -i 修改文件內(nèi)容 -r 不需要轉(zhuǎn)義
注意:& 符號在sed命令中代表上次匹配的結(jié)果
sed擅長行輸出,附源文件:
hhh pts/1 192.168.25.1 Sat Jun 30 22:04 still logged in reboot system boot 2.6.32-358.el6.i Sat Jun 30 22:04 - 22:43 (00:38) omc pts/0 192.168.25.1 Sat Jun 30 20:16 - down (00:00) reboot system boot 2.6.32-358.el6.i Sat Jun 30 19:38 - 20:16 (00:37) root pts/1 192.168.25.1 Sat Jun 30 12:20 - down (00:55) root pts/0 192.168.25.1 Sat Jun 30 11:53 - down (01:22) reboot system boot 2.6.32-358.el6.i Sat Jun 30 11:52 - 13:15 (01:23) root pts/0 192.168.25.1 Sat Jun 30 05:40 - down (02:51) reboot system boot 2.6.32-358.el6.i Sat Jun 30 05:38 - 08:32 (02:54) root pts/0 192.168.25.1 Fri Jun 29 21:01 - down (06:21) wtmp begins Tue Jun 9 03:57:56 2015
上一個(gè)教程:linux常用命令:ip 命令