sed (stream editor 流編輯器)
基本語法:
sed [-n] program [file-list]
sed [-n] –f program-file [file-list]
sed 是一個(gè)批處理編輯器。可以對(duì)來自文件或者標(biāo)準(zhǔn)輸入的輸入流進(jìn)行交換。常被用于管道中的過濾器。sed工具從命令行所指定的文件或者標(biāo)準(zhǔn)輸入中獲取輸入流。除非明確指定輸出目標(biāo),否則將把結(jié)果輸出到標(biāo)準(zhǔn)輸出。
選項(xiàng)參數(shù)
-n (quiet, silent) 安靜模式。加上-n后,只有經(jīng)過sed特殊處理的那一行才會(huì)被列出來
-e (script, --expression=script) 直接在指令列模式上進(jìn)行sed動(dòng)作編輯
-f (script-file, --file=script-file) 直接將sed的動(dòng)作寫在一個(gè)文件內(nèi)
Sed 動(dòng)作
-i ([SUFFIX], --in-place[=SUFFIX]) 直接修改讀取的文件內(nèi)容,而不是由屏幕輸出
-r (regexp-extended) sed的動(dòng)作支持的是延伸型正則表示法的語法。(預(yù)設(shè)是基礎(chǔ)正則表示法語法)
動(dòng)作說明:[n1, [n2]]function
n1, n2: 不一定存在,表示選擇進(jìn)行動(dòng)作
a (append) 新增,a 的后面可以接字符串,而這些字符串會(huì)在新的一行出現(xiàn)(當(dāng)前行的系一行)
c (change,replace) 取代,c后面的接字符串,講匹配的行替換為c后接的字符串
d (delete) 刪除
i (Insert) 插入, i的后面接字符串,而這些字符串會(huì)在新的一行出現(xiàn)(當(dāng)前行的上一行)
p (print) 打印,將某個(gè)選擇的數(shù)據(jù)打印。通常p會(huì)與參數(shù)sed –n一起運(yùn)行
s (substitution) 取代,可以直接進(jìn)行取代的工作。通常的搭配是:s/old/new/g
w (write) 將匹配的內(nèi)容寫入另外一個(gè)文件中
h/H 將 pattern space 拷貝到 hold space
g/G 將 hold space拷貝到 pattern space

-n 和 p 一起使用表示只打印發(fā)生匹配的行




以上是在含有Deve的行后加上(append) teste

以上是在含有Deve的行前加上(Insert) teste

以上為將漢以后deve的整行替換為teset
3)行內(nèi)的內(nèi)容替換


以上分別是
A. 刪除指定的第二行到含有g(shù)ood的行,講剩余行打印出來
B. 刪除第2行到第6行
C. 刪除含有g(shù)ood的行



以上使用()來表示對(duì)應(yīng)的匹配項(xiàng), 最多匹配到9項(xiàng)。
8)&符號(hào)表示替換字符串中被找到的部分


以上打印從含有You的行開始到含有Plan的行之間的行,無論P(yáng)lan出現(xiàn)在哪兒,之間的行都被打印,如果Plan沒出現(xiàn),中間的行都將被打印
以上是打印從第3行到含有Plan的行之間的行,如果Plan沒出現(xiàn),中間的行都將被打印



以上都是將第1行到第6行刪掉,然后將剩余的good替換為better。 第二個(gè)示例中是再將Dev替換為def