Linux sed工具用法
生活随笔
收集整理的這篇文章主要介紹了
Linux sed工具用法
小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
一、sed用法
語(yǔ)法:
sed [-nefr] [動(dòng)作]? ?
作用:
以行為單位的新增/刪除/修改/插入/替換等功能,bash腳本中常用。sed功能強(qiáng)大,主要體現(xiàn)在[動(dòng)作]的指定
選項(xiàng)與參數(shù):
- -n :只有經(jīng)過(guò) sed 特殊處理的那一行(或者動(dòng)作)才會(huì)被列出來(lái)。 nl /etc/passwd | sed -n '5,7p'
- -e :直接在命令行界面上進(jìn)行 sed 動(dòng)作編輯;
- -f :直接將 sed 的動(dòng)作寫(xiě)在一個(gè)文件內(nèi), -f filename 則可以執(zhí)行 filename 內(nèi)的 sed 動(dòng)作;
- -r :sed 的動(dòng)作支持的是延伸型正則表達(dá)式的語(yǔ)法。
- -i :直接修改讀取的文件內(nèi)容,而不是由屏幕輸出。[危險(xiǎn),直接修改原始文件]
動(dòng)作說(shuō)明:
[n1,n2]] function
n1, n2 :代表“選擇進(jìn)行動(dòng)作的行數(shù)”,如果動(dòng)作是需要在 10 到 20 行之間進(jìn)行的,則“ 10,20 [動(dòng)作行為] ”
function :
- a :新增, a 的后面可以接字串,而這些字串會(huì)在新的一行出現(xiàn)(目前的下一行): nl /etc/passwd | sed '2a test tea'?.增加多行就在該行末尾加上轉(zhuǎn)義\
- c :取代, c 的后面可以接字串,這些字串可以取代 n1,n2 之間的行!: nl /etc/passwd | sed '2,5c No 2-5 number'
- d :刪除,d 后面不接任何命令: nl /etc/passwd | sed '2,5d'
- i :插入, i 的后面可以接字串,會(huì)在新的一行出現(xiàn)(目前的上一行);
- p :打印,p 會(huì)與參數(shù) sed -n 一起運(yùn)行;
- s :替代,通常這個(gè) s 的動(dòng)作可以搭配正則表達(dá)式!: sed 's/要被取代的字串/新的字串/g',例如1,20s/old/new/g?
二、示例
例如 將 /etc/passwd 的內(nèi)容列出并且打印行號(hào),同時(shí),請(qǐng)將第 2~5 行刪除
總結(jié)
以上是生活随笔為你收集整理的Linux sed工具用法的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: 中文字符集编码unicode,gb231
- 下一篇: Linux目录--proc详解