1 命令功能
? ? sed是一個相當強大的文件處理編輯工具,sed用來替換,刪除,更新文件中的內容。sed以文本行為單位進行處理,一次處理一行內容。首先sed吧當前處理的行存儲在臨時的緩沖區中(稱為模式空間pattern space),接著處理緩沖區中的行,處理完成后,吧緩沖區的內容輸出到屏幕。sed處理完一行就將其從臨時緩沖區刪除,然后將下一個行讀入,進行處理和顯示,這樣不斷重復直至處理完最后一行內容,sed便結束運行
2 命令語法
? ? sed 【選項與參數-nefri】 '【命令】' 【文件名】
3 選項與參數
? ? -n ? 使用安靜(silent)模式,無-n選項則所有來自標準輸入的數據和sed查詢到的結果一般都會被列出到終端上,而加上-n后,則只將經過sed處理的結果列出。
? ? -e ? 進行多項編輯,即對輸入行應用多條sed命令時使用,直接在命令模式上進行sed的動作編輯
? ? -f ? 指定sed命令執行的腳本名,直接將sed【命令】寫入到文件中,通過-f參數來指定執行。
? ? -r ? 指定擴展正則表達式,(不使用-r選項。默認為基本正則表達式)
? ? -i ? 直接修改文件,不在終端中輸出結果
4 命令參數
? ? n1,n2 ? 表示行號,該參數可選,表示操作的行數,可以是數字,正則表達式或者二者結合。用逗號分隔表示n1-n2行的范圍
? ? a ? 新增,表示在當前行的下一行追加一行文本內容。a 的后面可以接字串,而這些字串會在下一行出現
? ? i ? ?插入,表示在當前行的上一行插入一行文本內容。i 的后面可以接字串,而這些字串會在上一行出現
? ? c ? 替換,以行為單位進行替換,c 的后面可以接字串,這些字串可以取代 n1,n2 之間的行
? ? d ? 刪除,因為是刪除,所以d后面通常不接任何內容
? ? p ? 打印,打印行的內容,通常p會與參數-n一起使用
? ? s ? 替換,替換行中的內容,通常s命令搭配正則表達式使用,如1,20s/linux/linux1/g,如果不跟g,則在行中替換第一個匹配的模式后終止,不在向行后查找,g表示整行查找
? ??= ?打印行號
5 使用范例
【1】打印文件中第n行的內容
【2】刪除包含字符到包含字符的行之間的行
【3】刪除包含字符到第n行的內容
【4】使用模式進行查詢
【5】追加一行或多行字符串
注:使用\n來進行換行,使得在一行后追加多條內容
【6】代替一行或多行
【7】代替一行或多行
【8】替換行中的內容
?
作者:linux每天一小步
出處:http://www.cnblogs.com/westoslinux
如果你真心覺得文章寫得不錯,而且對你有所幫助,不妨幫忙“推薦"一下,您的“推薦”將是我最大的寫作動力!
本文版權歸作者所有,歡迎轉載,但未經作者同意必須保留此段聲明,且在文章頁面明顯位置給出原文鏈接!