溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Linux下sed命令的用法

發(fā)布時(shí)間:2021-08-06 19:05:35 來源:億速云 閱讀:108 作者:chen 欄目:系統(tǒng)運(yùn)維

本篇內(nèi)容介紹了“Linux下sed命令的用法”的有關(guān)知識(shí),在實(shí)際案例的操作過程中,不少人都會(huì)遇到這樣的困境,接下來就讓小編帶領(lǐng)大家學(xué)習(xí)一下如何處理這些情況吧!希望大家仔細(xì)閱讀,能夠?qū)W有所成!

一、Sed簡介
Sed:Stream Editor  流式編輯器 又稱行編輯器,每次只編輯一行。Sed工作是在“模式空間”中進(jìn)行的,并不操作源文件。對(duì)源文件無危害。


二、Sed使用格式
    Sed命令的常用格式如下:
(1)Sed [options] ‘script’ input_file…
(2)Sed [options] –f script_file input_file…
(3)Sed [options] ‘ADDR1,ADDR2command’ input_file…
例如:#sed ’1,2d’ fstab 就可以將fstab的前兩行刪除并顯示出來,但是它不會(huì)改變?cè)次募?br/>#Sed ‘1,2!d’ fstab 表示刪除除第一行和第二行之外的所有行。
(4)Sed [options] ‘/PATTERN/command’ input_file……
&:s/l..e/&er/:表示引用前面匹配到的所有字符。
例如:sed ‘/[[:upper:]]/d’ binary.sh 表示刪除所有的大寫字母的行。
(5)Sed ‘/PATTERN1/,/PATTERN2/command’ input_file……
說明:這表示從第一次被PATTERN1匹配到的行到第一次被PATTERN2匹配到的中間的所有行執(zhí)行command命令。


三、Sed的常用選項(xiàng):
 -n:只顯示sed匹配到的行。其余行不顯示。下文有范例。
-i :可以直接操作原文件。默認(rèn)情況下sed不會(huì)改變?cè)募?,但?i選項(xiàng)可以修改原文件,此選項(xiàng)應(yīng)慎用。
-r:可以使用標(biāo)準(zhǔn)正則表達(dá)式。默認(rèn)情況下sed只支持基本正則表達(dá)式,但是加上-r選項(xiàng)后則支持?jǐn)U展正則表達(dá)式
-e:多腳本共用。可以同時(shí)執(zhí)行多個(gè)命令。例如:

代碼如下:

[root@localhost ~]# sed -e <a>'s@\@H\1@g'</a> -e <a>'s@\(l..e\)\.@\1r.@g'</a> test


He love His lover.
She like Her liker.
Dove love Her liker.
也可以這樣用,中間用分號(hào)隔開:

代碼如下:

[root@localhost ~]# sed <a>'s@\@H\1@g;s@\(l..e\)\.@\1r.@g'</a> test

四、使用示例

代碼如下:


#sed -e 命令行處理 -a 新增
> sed -e '$ a widuu' test.txt  #在test.txt的結(jié)尾處添加widuu


Linux下sed命令的用法

代碼如下:


# 把-e換成-n
> sed -n '$ a widuu' test.txt  # 只顯示被處理的一行


Linux下sed命令的用法

代碼如下:


# -c 替換多少行 為你制定的字符串,這里我的test.txt內(nèi)容如圖
>  sed -e '2,5c xiaowei' test.txt #把2-5行替換成字符串xiaowei


Linux下sed命令的用法

代碼如下:


# 多命令執(zhí)行 -e
> sed -e '2,5c xiaowei' -e 's/cccc/widuu/' test.txt


Linux下sed命令的用法

代碼如下:


# -i 不輸出 -s 替換
>sed -i 's/111111/widuu/g' test.txt


Linux下sed命令的用法

代碼如下:


# i 插入 自定義的字符串 在test.txt的第二行插入xiaowei
> sed -e '2i xiaowei' test.txt


Linux下sed命令的用法

代碼如下:


# d 刪除輸入任何字符串
>  sed -e '2d' test.txt #刪除第二行

 
Linux下sed命令的用法 

“Linux下sed命令的用法”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí)可以關(guān)注億速云網(wǎng)站,小編將為大家輸出更多高質(zhì)量的實(shí)用文章!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請(qǐng)聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI