Sed是一項(xiàng)Linux指令,全稱是Stream
為臺兒等地區(qū)用戶提供了全套網(wǎng)頁設(shè)計制作服務(wù),及臺兒網(wǎng)站建設(shè)行業(yè)解決方案。主營業(yè)務(wù)為成都網(wǎng)站設(shè)計、成都做網(wǎng)站、臺兒網(wǎng)站設(shè)計,以傳統(tǒng)方式定制建設(shè)網(wǎng)站,并提供域名空間備案等一條龍服務(wù),秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務(wù)。我們深信只要達(dá)到每一位用戶的要求,就會得到認(rèn)可,從而選擇與我們長期合作。這樣,我們也可以走得更遠(yuǎn)!
EDitor,功能同awk類似,差別在于,sed簡單,對列處理的功能要差一些,awk的功能復(fù)雜,對列處理的功能比較強(qiáng)大。Sed主要用于自動編輯一個或者多個文件,多用于腳本中對文件的處理。
Sed命令可以對文件進(jìn)行增加、刪除、修改和查找操作,所以學(xué)好sed命令是寫自動化腳本必須的基礎(chǔ)之一。
Sed
is
a
nondestructive
editor.
It
will
display
the
edits
you
make
on
your
screen,
but
it
will
not
change
the
file
you
are
editing.
To
really
reflect
the
edits
in
the
file,
you
must
redirect
the
output
to
another
file,
and
then
rename
the
orginal
file
sed的特點(diǎn)就是非破壞(nondestructive),流水行(streamlined),非交互(noninteractive)的編輯器。
非破壞就是指不會修改原文件,它會將修改的結(jié)果標(biāo)準(zhǔn)輸出到屏幕上,你如果想保存,需要使用IO重定向的方式保存:
如:
sed
‘s/home/home1’
1.txt
2.txt
這樣做的原因是,如果你修改了原文件的話,你沒法使用word,vim,txt的undo功能撤銷修改,恢復(fù)原來的文件。所以,sed會將修改之后的文件輸出到屏幕,你看到修改滿意的話,再重定向到其他文件。就完成了修改。明白否?
-e是啟用多行命令
上述兩條編輯命令都是一行命令,所以看不出效果。
Linux 命令大全
Linux sed 命令是利用腳本來處理文本文件。
sed 可依照腳本的指令來處理、編輯文本文件。
Sed 主要用來自動編輯一個或多個文件、簡化對文件的反復(fù)操作、編寫轉(zhuǎn)換程序等。
[root@www ~]# sed [-nefr] [動作]
選項(xiàng)與參數(shù):
-n :使用安靜(silent)模式。在一般 sed 的用法中,所有來自 STDIN 的數(shù)據(jù)一般都會被列出到終端上。但如果加上 -n 參數(shù)后,則只有經(jīng)過sed 特殊處理的那一行(或者動作)才會被列出來。
-e :直接在命令列模式上進(jìn)行 sed 的動作編輯;
-f :直接將 sed 的動作寫在一個文件內(nèi), -f filename 則可以運(yùn)行 filename 內(nèi)的 sed 動作;
-r :sed 的動作支持的是延伸型正規(guī)表示法的語法。(默認(rèn)是基礎(chǔ)正規(guī)表示法語法)
-i :直接修改讀取的文件內(nèi)容,而不是輸出到終端。
動作說明: [n1[,n2]]function
n1, n2 :不見得會存在,一般代表『選擇進(jìn)行動作的行數(shù)』,舉例來說,如果我的動作是需要在 10 到 20 行之間進(jìn)行的,則『 10,20[動作行為] 』
function:
a :新增, a 的后面可以接字串,而這些字串會在新的一行出現(xiàn)(目前的下一行)~
c :取代, c 的后面可以接字串,這些字串可以取代 n1,n2 之間的行!