sed詳細用法(sed詳細用法)_第1頁
sed詳細用法(sed詳細用法)_第2頁
sed詳細用法(sed詳細用法)_第3頁
sed詳細用法(sed詳細用法)_第4頁
sed詳細用法(sed詳細用法)_第5頁
已閱讀5頁,還剩3頁未讀 繼續免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1/1sed詳細用法(sed詳細用法)sed詳細用法(sed詳細用法)Seddetailedusageintroduction1.briefintroductionofSedSedisanonlineeditorthathandlesonelineofcontentatatime.Whenthecurrentprocessingrowsarestoredinatemporarybuffer,calledmodelspace(patternspace),thenthecontentsofthebufferusingtheSEDcommand,afterprocessing,thecontentsofthebuffertothescreen.Next,youprocessthenextline,soitrepeatsuntiltheendofthefile.Thefilecontenthasnotchangedunlessyouusetheredirectionstorageoutput.Sedisprimarilyusedtoautomaticallyeditoneormorefiles;tosimplifytherepeatedoperationofthedocument;towriteconversionprogramsandsoon.ThefollowingistheGnuversionofSed3.02.2.addressingYoucanlocatethelinesyouwanttoeditbyaddressing,whichismadeupofnumbers,andthenumberofrowsseparatedbycommasindicatestherangeofthelinesinwhichthetwoactsstart(includingthetwolinesrepresentedbythenumberofrows)(twolines).If1,3means1,2,and3lines,thedollarsign($)representsthelastline.Rangecanbedeterminedbymeansofdata,regularexpressions,ortwocombinations.3.SedcommandTherearetwoformsofcallingtheSEDcommand:Sed,[options],’command’,file(s)Sed,[options],-f,scriptfile,file(s)A\Addsasinglelineoftextattheendofthecurrentrow.BlableBranchintothescriptwithtags,andifthebranchdoesnotexist,branchtotheendofthescript.C\Changethetextofthebankwithnewtext.DRemovesrowsfromthetemplateblock(Pattern,space)location.DDeletethefirstlineofthetemplateblock.I\Insertstextabovethecurrentline.HCopythecontentsofthetemplateblockintothememorybuffer.HAppendthecontentofthetemplateblocktothememorybufferGGetsthecontentsofthememorybufferandreplacesthetextinthecurrenttemplateblock.GGetsthecontentsofthememorybufferandappendsittothetextofthecurrenttemplateblock.LListofcharactersthatcannotprintcharacters.NReadsthenextinputlineandprocessesthenewlinewiththenextcommand,notthefirstcommand.NAppendthenextinputlinetothetemplateblockandinsertanewlinebetweenthetwotochangethecurrentrownumber.PPrintlinesoftemplateblocks.P(uppercase)Printthefirstlineoftemplateblocks.QExitSed.RfileReadlinefromfile.TlabelTheifbranchstartsfromthelastline,andoncetheconditionismet,ortheT,tcommand,itwillleadtobranchingtothelabeledcommand,ortotheendofthescript.TlabelTheerrorbranchstartswiththelastline,andifanerroroccurs,ortheT,thetcommandcausesthebranchtogotothelabeledcommand,ortotheendofthescript.WfileWriteandappendthetemplateblocktotheendofthefile.WfileWriteandappendthefirstlineofthetemplateblocktotheendofthefile.!Indicatesthatthefollowingcommandtakeseffectonalltherowsthathavenotbeenselected.S/re/stringReplaceregularexpressionstringwithre.=Printcurrentlinenumber.#Extendthecommenttothenextlinebreak.ThefollowingisthereplacementtokenGindicatesinlinefullsubstitution.Prepresentstheprintline.Wmeanstowriterowstoafile.TheXrepresentsthetextintheswapblockandthetextinthebuffer.Ymeanstranslatingacharacterintoanothercharacter(butnotregularexpressions)4.option-e,command,--expression=commandAllowmultipleedits.-h,--helpPrinthelpanddisplaytheaddressofthebuglist.-n,--quiet,--thsed.$Theendoftheanchorline,suchas:/sed$/matchesallrowsendingwithsed..Acharacterthatmatchesanewlinecharacter,suchas:/s.d/,matchess,followedbyanarbitrarycharacter,followedbyD.*Matcheszeroormoresearchcharacterstoreplaceothercharacters,suchass/love/****/,love,andthisis**love**.\Anchorthebeginningofaword,suchas:/\love/matchesthelinecontainingthewordatthebeginningofthelove.\Anchortheendofaword,suchas/love\/,thatmatchesthelinecontainingthewordendinginlove.X\{m\}Repeatcharactersx,mtimes,suchas:/0\{5\}/matchingcontains5orows.X\{m,\}Repeatcharacterx,atleastmtimes,suchas:/o\{5,\}/,thereareatleast5olines.X\{m,n\}Repeatcharacterx,atleastmtimes,nomorethanntimes,forexample:/o\{5,10\}/matches5--10orows.6.exampleDelete:Dcommand$sed’2d’exampledeletesthesecondlineoftheexamplefile.$sed,’2,$d’,example,deletethesecondlineoftheexamplefiletoallrowsattheend.$sed’$d’exampledeletesthelastlineoftheexamplefile.$sed,’/test/’d,example,deletetheexamplefile,allrowscontainingtest.Replace:scommandThe$sed’s/test/mytest/g’examplereplacesthetestwithmytestthroughouttheentirerow.IfthereisnoGtag,onlythefirstmatchingtestofeachrowisreplacedwithmytest.The$sed-n’s/ est/mytest/p’example(-n)optionisusedwiththePflagtoindicatethatonlythereplacementrowshavebeenprinted.Thatis,ifaline’sinitialtestisreplacedwithmytest,printit.The$sed,’s/?.168.0.1/localhost/’,andexamplesymbolsrepresentthepartsfoundinthereplacementstring.Allrowsbeginningwith192.168.0.1willbereplacedbyaddinglocalhosttoitselfandbecoming192.168.0.1localhost.The$sed-n’s/\(love\)able/\1rs/p’exampleloveismarked1,andalltheloveablewillbereplacedwithlovers,andthereplacementlinewillbeprintedout.Nomatterwhat$sed’s#10#100#g’examplecharacter,followedbythescommandareconsideredtobethenewseparator,so,#hereisadelimiter,insteadofthedefault/separator.Meansreplacingall10to100.Selectedrangeoflines:comma$sed,-n,’/test/,/check/p’,example,alllineswithintherangeidentifiedbytemplatestestandcheckareprinted.$sed,-n,’5,/ est/p’,example,printstartsfromthefifthlinetothefirstrowthatcontainstherowsthatstartwithtest.$sed,’/test/,/check/s/$/sed,test/’,example,rowsbetweentemplatestestandWest,replacedbystringsedtestattheendofeachline.Multiedit:ecommand-e’1,5d’-e’s/test/check/’example$sed(-e)inthesamerowoptionallowstheexecutionofmultipleorders.Asshownintheexample,thefirstcommanddeleteslines1through5,andthesecondcommandreplacestestwithcheck.Theorderinwhichthecommandisexecutedhasconsequencesfortheresults.Ifthetwocommandsarereplacementcommands,thefirstreplacementcommandwillaffecttheresultsofthesecondreplacementcommands.A$sed,--expression=‘s/test/check/’,--expression=‘/love/d’,example,abettercommandthan-eis--expression.Itcanassignvaluestosedexpressions.Readfromfile:Rcommand$sed’/test/rfile’intheexamplefileofthecontentisdisplayedatthebackandreadintest,ifthematchingline,multiline,filecontentwillbeshownbelowallmatchingrowsof.Writefile:Wcommand$sed,-n,’/test/w,file’,exampleinexample,alllinescontainingtestarewrittentofile.Appendcommand:acommandThe$sed,’/ est/a\\this,is,a,example’,example’this,is,a,example’,andaareappendedtothelineatthebeginningofthetest,andsedrequiresabackslashfollowedbythecommand.Insert:Icommand$sed’/test/i\\Newline’exampleIftestismatched,insertthetextbehindthebackslashtothefrontofthematchingline.Next:ncommand$sed’/test/{n;s/aa/bb/example;}’iftestismatching,movetothenextline,theline,replacethelineAAintoBB,andprinttheline,andthencontinueto.Deform:ycommandThe$sed’1,10y/abcde/ABCDE/’examplechangesalltheABCDEinthe1--10linetouppercase.Notethattheregularexpressionmetacharactercannotusethiscommand.Exit:QcommandAfter$tenth,’10q’,example,printouttheSEDline,exitsed.Keepandget:HcommandandGcommand-e’/test/h’-e’$Gexample$sedinseddocumentprocessing,eachrowisstoredinatemporarybuffercalledmodespace,unlesstherowisdeletedoroutputiscancelled,otherwiseallprocessedrowswillbeprintedonthescreen.Next,themodespaceisemptiedandstoredinanewlinewaitingforprocessing.Inthisexample,whenthelinethatmatchestestisfound,itisstoredinthepatternspace,andtheHcommandcopiesitandstoresitintoaspecialbuffercalledth

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論