欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

sed的使用-創(chuàng)新互聯(lián)

sed命令行格式為:

創(chuàng)新互聯(lián)長(zhǎng)期為近1000家客戶提供的網(wǎng)站建設(shè)服務(wù),團(tuán)隊(duì)從業(yè)經(jīng)驗(yàn)10年,關(guān)注不同地域、不同群體,并針對(duì)不同對(duì)象提供差異化的產(chǎn)品和服務(wù);打造開放共贏平臺(tái),與合作伙伴共同營(yíng)造健康的互聯(lián)網(wǎng)生態(tài)環(huán)境。為汪清企業(yè)提供專業(yè)的網(wǎng)站制作、做網(wǎng)站汪清網(wǎng)站改版等技術(shù)服務(wù)。擁有十載豐富建站經(jīng)驗(yàn)和眾多成功案例,為您定制開發(fā)。

        sed [-nefri] ‘command’ 輸入文本/文件

常用選項(xiàng):

       -n∶取消默認(rèn)的輸出,使用安靜(silent)模式。在一般 sed的用法中,所有來自 STDIN的資料一般都會(huì)被列出到屏幕上。但如果加上 -n參數(shù)后,則只有經(jīng)過sed特殊處理的那一行(或者動(dòng)作)才會(huì)被列出來

       -e∶進(jìn)行多項(xiàng)編輯,即對(duì)輸入行應(yīng)用多條sed命令時(shí)使用.直接在指令列模式上進(jìn)行 sed的動(dòng)作編輯

       -f∶指定sed腳本的文件名.直接將 sed的動(dòng)作寫在一個(gè)檔案內(nèi), -f filename則可以執(zhí)行 filename內(nèi)的sed動(dòng)作

       -r∶sed的動(dòng)作支援的是延伸型正則表達(dá)式的語法。(預(yù)設(shè)是基礎(chǔ)正則表達(dá)式語法)

       -i∶直接修改讀取的文件內(nèi)容,而不是由屏幕輸出

常用命令:

       a∶新增, a的后面可以接字串,而這些字串會(huì)在新的一行出現(xiàn)(目前的下一行)

       c∶取代, c的后面可以接字串,這些字串可以取代 n1,n2之間的行

       d∶刪除,因?yàn)槭莿h除,所以 d后面通常不接任何內(nèi)容

        i∶插入, i的后面可以接字串,而這些字串會(huì)在新的一行出現(xiàn)(目前的上一行)

        p∶列印,亦即將某個(gè)選擇的資料印出。通常 p會(huì)與參數(shù) sed -n一起用

        s∶取代,可以直接進(jìn)行替換的工作。通常這個(gè) s的動(dòng)作可以搭配正則表達(dá)式。例如 1,20s/old/new/g

定址

定址用于決定對(duì)哪些行進(jìn)行編輯。地址的形式可以是數(shù)字、正則表達(dá)式、或二者的結(jié)合。如果沒有指定地址,sed將處理輸入文件的所有行。

地址是一個(gè)數(shù)字,則表示行號(hào);是“$"符號(hào),則表示最后一行。例如:

sed -n '3p' datafile

只打印第三行

 只顯示指定行范圍的文件內(nèi)容,例如:

#只查看文件的第100行到第200行

sed -n '100,200p' mysql_slow_query.log

 地址是逗號(hào)分隔的,那么需要處理的地址是這兩行之間的范圍(包括這兩行在內(nèi))。范圍可以用數(shù)字、正則表達(dá)式、或二者的組合表示。例如:

sed '2,5d' datafile

#刪除第二到第五行

sed '/My/,/You/d' datafile

#刪除包含"My"的行到包含"You"的行之間的行

sed '/My/,10d' datafile

#刪除包含"My"的行到第十行的內(nèi)容

舉例:(假設(shè)我們有一文件名為ab)

    刪除某行

    [root@localhost ruby] # sed '1d' ab             #刪除第一行

    [root@localhost ruby] # sed '$d' ab             #刪除最后一行

    [root@localhost ruby] # sed '1,2d' ab          #刪除第一行到第二行

    [root@localhost ruby] # sed '2,$d' ab          #刪除第二行到最后一行

顯示某行

.   [root@localhost ruby] # sed -n '1p' ab          #顯示第一行

    [root@localhost ruby] # sed -n '$p' ab          #顯示最后一行

    [root@localhost ruby] # sed -n '1,2p' ab       #顯示第一行到第二行

    [root@localhost ruby] # sed -n '2,$p' ab       #顯示第二行到最后一行

使用模式進(jìn)行查詢

    [root@localhost ruby] # sed -n '/ruby/p' ab   #查詢包括關(guān)鍵字ruby所在所有行

    [root@localhost ruby] # sed -n '/\$/p' ab       #查詢包括關(guān)鍵字$所在所有行,使用反斜線\屏蔽特殊含義

增加一行或多行字符串

    [root@localhost ruby]# cat ab

    Hello!

    ruby is me,welcome to my blog.

    end

    [root@localhost ruby] # sed '1a drink tea' ab #第一行后增加字符串"drink tea"

    Hello!

    drink tea

    ruby is me,welcome to my blog.

    end

    [root@localhost ruby] # sed '1,3a drink tea' ab #第一行到第三行后增加字符串"drink tea"

    Hello!

    drink tea

    ruby is me,welcome to my blog.

    drink tea

    end

    drink tea

    [root@localhost ruby] # sed '1a drink tea\nor coffee' ab  #第一行后增加多行,使用換行符

    Hello!

    drink tea

    or coffee

    ruby is me,welcome to my blog.

    end

代替一行或多行

    [root@localhost ruby] # sed '1c Hi' ab               #第一行代替為Hi

    Hi

    ruby is me,welcome to my blog.

    end

    [root@localhost ruby] # sed '1,2c Hi' ab            #第一行到第二行代替為Hi

    Hi

    end

替換一行中的某部分

格式:sed 's/要替換的字符串/新的字符串/g'  (要替換的字符串可以用正則表達(dá)式)

    [root@localhost ruby] # sed -n '/ruby/p' ab | sed 's/ruby/bird/g'   #替換ruby為bird

 [root@localhost ruby] # sed -n '/ruby/p' ab | sed 's/ruby//g'       #刪除ruby

    插入

    [root@localhost ruby] # sed -i '$a bye' ab        #在文件ab中最后一行直接輸入"bye"

    [root@localhost ruby]# cat ab

    Hello!

    ruby is me,welcome to my blog.

    end

    bye

 替換:

-e是編輯命令,用于sed執(zhí)行多個(gè)編輯任務(wù)的情況下。在下一行開始編輯前,所有的編輯動(dòng)作將應(yīng)用到模式緩沖區(qū)中的行上。

sed -e '1,10d' -e 's/My/Your/g' datafile

#選項(xiàng)-e用于進(jìn)行多重編輯。第一重編輯刪除第1-3行。第二重編輯將出現(xiàn)的所有My替換為Your。因?yàn)槭侵鹦羞M(jìn)行這兩項(xiàng)編輯(即這兩個(gè)命令都在模式空間的當(dāng)前行上執(zhí)行),所以編輯命令的順序會(huì)影響結(jié)果。

#替換兩個(gè)或多個(gè)空格為一個(gè)空格

sed 's/[ ][ ]*/ /g' file_name

#替換兩個(gè)或多個(gè)空格為分隔符:

sed 's/[ ][ ]*/:/g' file_name

#如果空格與tab共存時(shí)用下面的命令進(jìn)行替換

#替換成空格

sed 's/[[:space:]][[:space:]]*/ /g' filename

#替換成分隔符:

sed 's/[[:space:]][[:space:]]*/:/g' filename

 ==============

sed命令的調(diào)用:

   在命令行鍵入命令;將sed命令插入腳本文件,然后調(diào)用sed;將sed命令插入腳本文件,并使sed腳本可執(zhí)行

   sed [option] sed命令輸入文件           在命令行使用sed命令,實(shí)際命令要加單引號(hào)

   sed [option] -f sed腳本文件輸入文件    使用sed腳本文件

   sed腳本文件 [option]輸入文件           第一行具有sed命令解釋器的sed腳本文件

   option如下:

     n不打印; sed不寫編輯行到標(biāo)準(zhǔn)輸出,缺省為打印所有行(編輯和未編輯),p命令可以用來打印編輯行

     c下一命令是編輯命令,使用多項(xiàng)編輯時(shí)加入此選項(xiàng)

     f如果正在調(diào)用sed腳本文件,使用此選項(xiàng),此選項(xiàng)通知sed一個(gè)腳本文件支持所用的sed命令,如

         sed -f myscript.sed input_file 這里myscript.sed即為支持sed命令的文件

   使用重定向文件即可保存sed的輸出

使用sed在文本中定位文本的方式:

   x      x為一行號(hào),比如1

   x,y    表示行號(hào)范圍從x到y(tǒng),如2,5表示從第2行到第5行

   /pattern/   查詢包含模式的行,如/disk/或/[a-z]/

   /pattern/pattern/  查詢包含兩個(gè)模式的行,如/disk/disks/

   /pattern/,x 在給定行號(hào)上查詢包含模式的行,如/disk/,3

   x,/pattern/ 通過行號(hào)和模式查詢匹配行,如 3,/disk/

   x,y!   查詢不包含指定行號(hào)x和y的行

基本sed編輯命令:

   p     打印匹配行                     c/   用新文本替換定位文本

   =     顯示文件行號(hào)                   s    使用替換模式替換相應(yīng)模式

   a/    在定位行號(hào)后附加新文本信息       r    從另一個(gè)文本中讀文本

   i/    在定位行號(hào)后插入新文本信息       w    寫文本到一個(gè)文件

   d     刪除定位行                     q    第一個(gè)模式匹配完成后退出或立即退出

   l     顯示與八進(jìn)制ASCII代碼等價(jià)的控制字符       y 傳送字符

   n     從另一個(gè)文本中讀文本下一行,并附加在下一行  {}    在定位行執(zhí)行的命令組

   g     將模式2粘貼到/pattern n/

基本sed編程舉例:

   使用p(rint)顯示行: sed -n '2p' temp.txt  只顯示第2行,使用選項(xiàng)n

   打印范圍: sed -n '1,3p' temp.txt        打印第1行到第3行

   打印模式: sed -n '/movie/'p temp.txt    打印含movie的行

   使用模式和行號(hào)查詢: sed -n '3,/movie/'p temp.txt  只在第3行查找movie并打印

   顯示整個(gè)文件: sed -n '1,$'p temp.txt     $為最后一行

   任意字符: sed -n '/.*ing/'p temp.txt    注意是.*ing,而不是*ing

   打印行號(hào): sed -e '/music/=' temp.txt

   附加文本:(創(chuàng)建sed腳本文件)chmod u+x script.sed,運(yùn)行時(shí)./script.sed temp.txt

       #!/bin/sed -f

       /name1/ a/            #a/表示此處換行添加文本

       HERE ADD NEW LINE.    #添加的文本內(nèi)容

   插入文本: /name1/ a/改成 4 i/ 4表示行號(hào),i插入

   修改文本: /name1/ a/改成 /name1/ c/將修改整行,c修改

   刪除文本: sed '1d' temp.txt 或者 sed '1,4d' temp.txt

   替換文本: sed 's/source/OKSTR/' temp.txt    將source替換成OKSTR

            sed 's//$//g' temp.txt            將文本中所有的$符號(hào)全部刪除

            sed 's/source/OKSTR/w temp2.txt' temp.txt將替換后的記錄寫入文件temp2.txt

   替換修改字符串: sed 's/source/"ADD BEFORE" &/p' temp.txt

            結(jié)果將在source字符串前面加上"ADD BEFORE",這里的&表示找到的source字符并保存

   sed結(jié)果寫入到文件: sed '1,2 w temp2.txt' temp.txt

                    sed '/name/ w temp2.txt' temp.txt

   從文件中讀文本: sed '/name/r temp2.txt' temp.txt

   在每列最后加文本: sed 's/[0-9]*/& Pass/g' temp.txt

   從shell向sed傳值: echo $NAME | sed "s/go/$REP/g"  注意需要使用雙引號(hào)

快速一行命令:

   's//.$//g'        刪除以句點(diǎn)結(jié)尾行

   '-e /abcd/d'      刪除包含abcd的行

   's/[][][]*/[]/g'  刪除一個(gè)以上空格,用一個(gè)空格代替

   's/^[][]*//g'     刪除行首空格

   's//.[][]*/[]/g'  刪除句號(hào)后跟兩個(gè)或更多的空格,用一個(gè)空格代替

   '/^$/d'           刪除空行

   's/^.//g'         刪除第一個(gè)字符,區(qū)別 's//.//g'刪除所有的句點(diǎn)

   's/COL/(.../)//g' 刪除緊跟COL的后三個(gè)字母

   's/^////g'        刪除路徑中第一個(gè)/

///////////////////////////////////////////////////////////////////////

、使用句點(diǎn)匹配單字符   句點(diǎn)“.”可以匹配任意單字符。“.”可以匹配字符串頭,也可以是中間任意字符。假定正在過濾一個(gè)文本文件,對(duì)于一個(gè)有1 0個(gè)字符的腳本集,要求前4個(gè)字符之后為X C,匹配操作如下:. . . .X C. . . .

2、在行首以^匹配字符串或字符序列   ^只允許在一行的開始匹配字符或單詞。在行首第4個(gè)字符為1,匹配操作表示為:^ . . . 1

3、在行尾以$匹配字符串或字符   可以說$與^正相反,它在行尾匹配字符串或字符, $符號(hào)放在匹配單詞后。如果在行尾匹配單詞j e t 0 1,操作如下:j e t 0 1 $   如果只返回包含一個(gè)字符的行,操作如下:^ . $

4、使用*匹配字符串中的單字符或其重復(fù)序列   使用此特殊字符匹配任意字符或字符串的重復(fù)多次表達(dá)式。

5、使用/屏蔽一個(gè)特殊字符的含義   有時(shí)需要查找一些字符或字符串,而它們包含了系統(tǒng)指定為特殊字符的一個(gè)字符。如果要在正則表達(dá)式中匹配以* . p a s結(jié)尾的所有文件,可做如下操作:/ * / . p a s

6、使用[]匹配一個(gè)范圍或集合    使用[ ]匹配特定字符串或字符串集,可以用逗號(hào)將括弧內(nèi)要匹配的不同字符串分開,但并不強(qiáng)制要求這樣做(一些系統(tǒng)提倡在復(fù)雜的表達(dá)式中使用逗號(hào)),這樣做可以增加模式的可讀性。使用“ -”表示一個(gè)字符串范圍,表明字符串范圍從“ -”左邊字符開始,到“ -”右邊字符結(jié)束。假定要匹配任意一個(gè)數(shù)字,可以使用:[ 0 1 2 3 4 5 6 7 8 9 ]   要匹配任意字母,則使用:[ A - Z a - z ]表明從A - Z、a - z的字母范圍。

7、使用/{/}匹配模式結(jié)果出現(xiàn)的次數(shù)   使用*可匹配所有匹配結(jié)果任意次,但如果只要指定次數(shù),就應(yīng)使用/ { / },此模式有三種形式,即:

   pattern/{n/}匹配模式出現(xiàn)n次。

   pattern/{n,/}匹配模式出現(xiàn)最少n次。

   pattern/{n,m}匹配模式出現(xiàn)n到m次之間,n , m為0 - 2 5 5中任意整數(shù)。

   匹配字母A出現(xiàn)兩次,并以B結(jié)尾,操作如下:A / { 2 / } B匹配值為A A B   匹配A至少4次,使用:A / { 4 , / } B

===============

替換單引號(hào)為空:

可以這樣寫:

sed 's/'"'"'//g'

sed 's/'\''//g'

sed s/\'//g

==============

在文件的第一行前面插入一行abc

sed -i '1i\abc' urfile

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)cdcxhl.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時(shí)售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國(guó)服務(wù)器、虛擬主機(jī)、免備案服務(wù)器”等云主機(jī)租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡(jiǎn)單易用、服務(wù)可用性高、性價(jià)比高”等特點(diǎn)與優(yōu)勢(shì),專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場(chǎng)景需求。

名稱欄目:sed的使用-創(chuàng)新互聯(lián)
瀏覽地址:http://www.chinadenli.net/article12/dccogc.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供網(wǎng)站收錄企業(yè)建站服務(wù)器托管關(guān)鍵詞優(yōu)化網(wǎng)站設(shè)計(jì)App設(shè)計(jì)

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請(qǐng)盡快告知,我們將會(huì)在第一時(shí)間刪除。文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如需處理請(qǐng)聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時(shí)需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司