linux每天一小步---sed命令详解
1 命令功能
? ? sed是一個(gè)相當(dāng)強(qiáng)大的文件處理編輯工具,sed用來(lái)替換,刪除,更新文件中的內(nèi)容。sed以文本行為單位進(jìn)行處理,一次處理一行內(nèi)容。首先sed吧當(dāng)前處理的行存儲(chǔ)在臨時(shí)的緩沖區(qū)中(稱(chēng)為模式空間pattern space),接著處理緩沖區(qū)中的行,處理完成后,吧緩沖區(qū)的內(nèi)容輸出到屏幕。sed處理完一行就將其從臨時(shí)緩沖區(qū)刪除,然后將下一個(gè)行讀入,進(jìn)行處理和顯示,這樣不斷重復(fù)直至處理完最后一行內(nèi)容,sed便結(jié)束運(yùn)行
2 命令語(yǔ)法
? ? sed 【選項(xiàng)與參數(shù)-nefri】 '【命令】' 【文件名】
3 選項(xiàng)與參數(shù)
? ? -n ? 使用安靜(silent)模式,無(wú)-n選項(xiàng)則所有來(lái)自標(biāo)準(zhǔn)輸入的數(shù)據(jù)和sed查詢到的結(jié)果一般都會(huì)被列出到終端上,而加上-n后,則只將經(jīng)過(guò)sed處理的結(jié)果列出。
? ? -e ? 進(jìn)行多項(xiàng)編輯,即對(duì)輸入行應(yīng)用多條sed命令時(shí)使用,直接在命令模式上進(jìn)行sed的動(dòng)作編輯
? ? -f ? 指定sed命令執(zhí)行的腳本名,直接將sed【命令】寫(xiě)入到文件中,通過(guò)-f參數(shù)來(lái)指定執(zhí)行。
? ? -r ? 指定擴(kuò)展正則表達(dá)式,(不使用-r選項(xiàng)。默認(rèn)為基本正則表達(dá)式)
? ? -i ? 直接修改文件,不在終端中輸出結(jié)果
4 命令參數(shù)
? ? n1,n2 ? 表示行號(hào),該參數(shù)可選,表示操作的行數(shù),可以是數(shù)字,正則表達(dá)式或者二者結(jié)合。用逗號(hào)分隔表示n1-n2行的范圍
? ? a ? 新增,表示在當(dāng)前行的下一行追加一行文本內(nèi)容。a 的后面可以接字串,而這些字串會(huì)在下一行出現(xiàn)
? ? i ? ?插入,表示在當(dāng)前行的上一行插入一行文本內(nèi)容。i 的后面可以接字串,而這些字串會(huì)在上一行出現(xiàn)
? ? c ? 替換,以行為單位進(jìn)行替換,c 的后面可以接字串,這些字串可以取代 n1,n2 之間的行
? ? d ? 刪除,因?yàn)槭莿h除,所以d后面通常不接任何內(nèi)容
? ? p ? 打印,打印行的內(nèi)容,通常p會(huì)與參數(shù)-n一起使用
? ? s ? 替換,替換行中的內(nèi)容,通常s命令搭配正則表達(dá)式使用,如1,20s/linux/linux1/g,如果不跟g,則在行中替換第一個(gè)匹配的模式后終止,不在向行后查找,g表示整行查找
? ??= ?打印行號(hào)
5 使用范例
【1】打印文件中第n行的內(nèi)容
【2】刪除包含字符到包含字符的行之間的行
【3】刪除包含字符到第n行的內(nèi)容
【4】使用模式進(jìn)行查詢
【5】追加一行或多行字符串
注:使用\n來(lái)進(jìn)行換行,使得在一行后追加多條內(nèi)容
【6】代替一行或多行
【7】代替一行或多行
【8】替換行中的內(nèi)容
?
作者:linux每天一小步
出處:http://www.cnblogs.com/westoslinux
如果你真心覺(jué)得文章寫(xiě)得不錯(cuò),而且對(duì)你有所幫助,不妨幫忙“推薦"一下,您的“推薦”將是我最大的寫(xiě)作動(dòng)力!
本文版權(quán)歸作者所有,歡迎轉(zhuǎn)載,但未經(jīng)作者同意必須保留此段聲明,且在文章頁(yè)面明顯位置給出原文鏈接!
轉(zhuǎn)載于:https://www.cnblogs.com/westoslinux/p/6429559.html
總結(jié)
以上是生活随笔為你收集整理的linux每天一小步---sed命令详解的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
 
                            
                        - 上一篇: 利用jenkins的api来完成相关工作
- 下一篇: Android_项目文件结构目录分析
