国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁(yè) > 系統(tǒng) > Linux > 正文

linux中sed命令的使用與注意小結(jié)

2019-11-02 16:03:49
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

前言

sed是一種流編輯器,它是文本處理中非常有用的工具,能夠完美的配合正則表達(dá)式使用,功能不同凡響。處理時(shí),把當(dāng)前處理的行存儲(chǔ)在臨時(shí)緩沖區(qū)中,稱為『模式空間』(pattern space),接著用sed命令處理緩沖區(qū)中的內(nèi)容,處理完成后,把緩沖區(qū)的內(nèi)容送往屏幕。接著處理下一行,這樣不斷重復(fù),直到文件末尾。文件內(nèi)容并沒(méi)有改變,除非你使用重定向存儲(chǔ)輸出。sed主要用來(lái)自動(dòng)編輯一個(gè)或多個(gè)文件,簡(jiǎn)化對(duì)文件的反復(fù)操作,編寫(xiě)轉(zhuǎn)換程序等。

sed的用法

$ sed [-nefr] [動(dòng)作]

參數(shù):

-n : 使用安靜模式。在一般sed用法中,所有來(lái)自STDIN的數(shù)據(jù)一般都會(huì)被列出到屏幕上。但如果加上-n參數(shù)后,則只有經(jīng)過(guò)sed特殊處理的那一行(或者操作)才會(huì)被列出來(lái)。 -e : 直接在命令行模式上進(jìn)行sed的動(dòng)作編輯。(默認(rèn)) -f : 直接將sed的動(dòng)作寫(xiě)在一個(gè)文件內(nèi), -f filename則可以執(zhí)行filename內(nèi)的sed動(dòng)作。 -r : sed的動(dòng)作支持的是擴(kuò)展型正則表達(dá)式的語(yǔ)法(默認(rèn)是基礎(chǔ)正則表達(dá)式語(yǔ)法)。 -i : 直接修改讀取的文件內(nèi)容,而不是屏幕輸出。

默認(rèn)情況下sed不直接作用于讀取的文件中

動(dòng)作說(shuō)明: [n1[,n2]] function

n1,n2 : 不見(jiàn)得會(huì)存在,一般代表選擇進(jìn)行動(dòng)作的行數(shù),舉例來(lái)說(shuō),如果我的動(dòng)作是需要在10到20行之間進(jìn)行的,則“10,20[動(dòng)作行為]”。

function 有下面的這些參數(shù):

a : 新增到下一行,后面可以接字符串 c : 替換,后面可以接字符串 d : 刪除,后面不接熱河參數(shù) i : 插入到上一行,后面可接字符串 p : 打印,通常會(huì)與參數(shù) sed -n 一起運(yùn)行 s : 查找并替換特定字符串,通常搭配正則表達(dá)式。

     例如,1,20s/old/new/g

演示

//假設(shè)有text文件$ sed '2,5d' text #將第2~5行刪除$ sed '2a hahaha' text #在第二行后加上“hahaha”字樣$ sed '2a hahaha/> xixixi' text #在第二行后加上兩行字$ sed '2,5c No 2-5 number' text #將第2~5行的內(nèi)容替換成為“No 2-5 number”,是整行替換$ sed -n '5,7p' text #將5~7行打印出來(lái),一定要加 -n$ sed 's/hahaha/ssss/g' text #將hahaha字段替換成ssss,這是部分?jǐn)?shù)據(jù)的查找并替換

sed還可以和正則表達(dá)式配合使用

如:

$ sed 's/^h/ssss/g' text #將h開(kāi)頭的字段替換成ssss

注意

sed后面接的動(dòng)作,務(wù)必以兩個(gè)單引號(hào)括住。 使用p(打印)參數(shù)時(shí),sed一定要用-n,否則所有的行都會(huì)被輸出,這樣就沒(méi)有意義了。 sed默認(rèn)不直接作用于讀取的文件中。 -i參數(shù)要慎用,它會(huì)直接修改讀取的文件內(nèi)容。

總結(jié)

以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作能帶來(lái)一定的幫助,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
主站蜘蛛池模板: 桦南县| 英吉沙县| 河池市| 会昌县| 阳东县| 洞口县| 临西县| 湘潭市| 永登县| 河曲县| 崇仁县| 封开县| 天峨县| 阳新县| 濮阳县| 连云港市| 天全县| 阳江市| 扬州市| 呼和浩特市| 贵州省| 阳东县| 邢台市| 洪江市| 勃利县| 巴青县| 沁源县| 鱼台县| 通州区| 明溪县| 始兴县| 武定县| 新和县| 阿克陶县| 和平区| 岐山县| 昌乐县| 时尚| 吉隆县| 安达市| 喜德县|