婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識(shí)庫 > Linux命令之sed命令使用介紹

Linux命令之sed命令使用介紹

熱門標(biāo)簽:北京市地圖標(biāo)注 淘寶系統(tǒng)退貨外呼項(xiàng)目考試答案 百度地圖標(biāo)注陰影動(dòng)態(tài) 2020電銷機(jī)器人排行 鄭州營銷外呼系統(tǒng)運(yùn)營商 鹽城客服外呼系統(tǒng)軟件 廳外呼梯系統(tǒng)布線 焦作人工智能電話機(jī)器人軟件 貴陽語音電銷機(jī)器人招商

sed是linux輕量級(jí)流編輯器,用于行的操作,主要用來數(shù)據(jù)的選取、替換、刪除、新增等。從輸入文件中一次一行的讀取,

按順序?qū)⒘斜碇械拿顟?yīng)用到每一行,并將其編輯過的行,寫到標(biāo)準(zhǔn)輸出。

權(quán)  限:所有用戶

位  置:/bin/sed

用  法:sed [-nefr]  [動(dòng)作]  file

參數(shù):

-n

         不加-n的時(shí)候,sed處理的數(shù)據(jù)和不處理的都會(huì)輸出,加上-n只會(huì)輸出sed操作的行,

         注意:與動(dòng)作p和起來用,不要與其他動(dòng)作一起用

-e

         直接在命令行模式上進(jìn)行sed的動(dòng)作編輯

         例如:sed -e 's/aaa/b/g; s/aa/b/g' file 也即多個(gè)動(dòng)作同時(shí)操作,注意中間的分號(hào)

-f          

         直接將sed動(dòng)作寫在一個(gè)文件內(nèi),-f file 則可以執(zhí)行filename內(nèi)的sed動(dòng)作

-r

         sed的動(dòng)作支持?jǐn)U展的正則表達(dá)式(默認(rèn)支持基礎(chǔ)正則表達(dá)式)

-i

         直接修改讀取的文件內(nèi)容

注意:多個(gè)選項(xiàng)參數(shù)一起用的時(shí)候,例如:sed  -i  -r  ...             不可以這樣:sed -ir  ...

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

         不見得會(huì)存在,一般代表選擇動(dòng)作的行數(shù),如果動(dòng)作是在5到15行之間進(jìn)行替換,則"10,20c"

a      新增,當(dāng)前行的下一行

         sed '2a hello world' file  輸出在第2行之后插入hello world


         sed '2a hello world\      

         my name is csdn'  file      

        輸出在2行下面插入兩行分別為hello world  和my name is scdn

         特別注意hello world 后面的"\&;

c       替換,是整行替換

         sed '3,6c  hello csdn'  file  

         輸出把3至6行的只替換為 hello csdn(第3至6行只剩下一行hello csdn,不是3至6行的每一行都為hello csdn)

d       刪除

          sed '3,6d' file   輸出刪除file的3至6行之后的內(nèi)容

i        插入,當(dāng)前行的上一行

          與a動(dòng)作類似,參照a動(dòng)作用法

p       打印

          sed  -n  '2,5p' file   打印file的第2至5行

s        替換

          sed 's/oldString/newString/g' file   oldString和newString支持基礎(chǔ)正則表達(dá)式和擴(kuò)展的正則表達(dá)式

          cat -n nginx | sed '1,99s/[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}\.[0-9]\{1,\}//g'  把nginx日志的1至99行的第一個(gè)字段IP地址替換為空

          結(jié)果為:

    91	 - - [15/Dec/2014:23:00:10 +0800],GET /identified?key=this-is-TMP-apikeydigest=914EBB2FD551844CBE15513C0126E6EEdigest-algorithm=ed2khash=9D37BB2988F26973371FAB028FEEEB93D5542300 HTTP/1.1,200 65,-,XMP Windows Client 4.9,-,ed2k://|file|ki141213.wmv|1119747351|914EBB2FD551844CBE15513C0126E6EE|h,00E04C377725NG4E,ki141213.wmv,1119747351
    92	 - - [15/Dec/2014:23:00:10 +0800],GET /identified? HTTP/1.1,401 112,-,-,-,-,-,-,-
    93	 - - [15/Dec/2014:23:00:10 +0800],GET /identified? HTTP/1.1,401 112,-,-,-,-,-,-,-
    94	 - - [15/Dec/2014:23:00:10 +0800],GET /identified? HTTP/1.1,401 112,-,-,-,-,-,-,-
    95	 - - [15/Dec/2014:23:00:10 +0800],-,400 0,-,-,-,-,-,-,-
    96	 - - [15/Dec/2014:23:00:10 +0800],GET /identified?key=this-is-TMP-apikeydigest=76BB7C854168DCD1BF15FCB92E4114FFD4CFE7DEdigest-algorithm=magnethash=28003498535 HTTP/1.1,200 65,-,Thunder Windows Client 7.9,-,magnet:?xt=urn:btih:76BB7C854168DCD1BF15FCB92E4114FFD4CFE7DE,EC55F9E92A5212LQ,ABP-209R,1067178826
    97	 - - [15/Dec/2014:23:00:10 +0800],GET /identified? HTTP/1.1,401 112,-,-,-,-,-,-,-
    98	 - - [15/Dec/2014:23:00:10 +0800],GET /identified? HTTP/1.1,401 112,-,-,-,-,-,-,-
    99	 - - [15/Dec/2014:23:00:10 +0800],-,400 0,-,-,-,-,-,-,-
   100	121.12.57.154 - - [15/Dec/2014:23:00:10 +0800],GET /identified? HTTP/1.1,401 112,-,-,-,-,-,-,-


動(dòng)作其他用法1:sed  '/模式/動(dòng)作'  文件

可以指定某種模式的行進(jìn)行動(dòng)作操作,如下(這里的文件名是a,注意cat a的輸出):

1、以p開頭的行前加[TAB]

$ cat a
pa:11:a
sa:32:c
app:5:b
stort:1:d
pear:4:aa
hello:3:f

$ sed '/^p/s/^/\t/' a
	pa:11:a
sa:32:c
app:5:b
stort:1:d
	pear:4:aa
hello:3:f

2、刪除以a開頭的行,(那么下面的輸出,以a開頭的行就沒了)

$ sed '/^a/d' a
pa:11:a
sa:32:c
stort:1:d
pear:4:aa
hello:3:f
3、反向匹配(文件a中,輸出只保留了a開頭的行)

$ sed '/^a/!d' a
app:5:b

4、等價(jià)與grep -v   (輸出文件a中,非p字母開頭的行)

$ grep  -v '^h' a
pa:11:a
sa:32:c
app:5:b
stort:1:d
pear:4:aa

$ sed -n '/^h/!p' a
pa:11:a
sa:32:c
app:5:b
stort:1:d
pear:4:aa


動(dòng)作其他用法2:

也可以使用成對(duì)的正則表達(dá)式或行號(hào)與正則表達(dá)式的結(jié)合,來選取一定范圍的行,如下:

1、sed '1,3d'  file   刪除1至3行

2、sed -n '1,3p' file  打印1至3行

3、sed  '1, /^$/d' file  刪除范圍:第一行至第一個(gè)空行 (注意格式)

4、sed '/^$/, /^app/d' file  刪除范圍:第一個(gè)空行至以app開頭的行

5、sed '$d'  file   刪除最后一行

注意:反向匹配行,是動(dòng)作前加感嘆號(hào) (!d    !s    !c等等)


如果前面的命令直接加入-i,則直接修改文件





標(biāo)簽:開封 石家莊 和田 法律問答 和田 馬鞍山 淮安 湖南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Linux命令之sed命令使用介紹》,本文關(guān)鍵詞  Linux,命令,之,sed,使用,介紹,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Linux命令之sed命令使用介紹》相關(guān)的同類信息!
  • 本頁收集關(guān)于Linux命令之sed命令使用介紹的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    主站蜘蛛池模板: 荔波县| 石阡县| 武功县| 蓬安县| 商都县| 白水县| 商河县| 资源县| 金沙县| 呼和浩特市| 杭锦旗| 麻阳| 天镇县| 永善县| 塔河县| 常州市| 阳东县| 德钦县| 洮南市| 巧家县| 辰溪县| 土默特右旗| 贵港市| 麻城市| 达拉特旗| 天柱县| 吉林省| 华阴市| 新野县| 都安| 西华县| 和硕县| 海原县| 巴南区| 咸丰县| 闽侯县| 石城县| 冷水江市| 扶风县| 潞城市| 海晏县|