功能:一个处理文本的流程编辑器。命令格式sedOptions'[Address]Command'InputFile对输入文件InputFile中的每一行执行给定的命令Command。如果指定了地址Address,则只有满足条件的文本ExecuteCommand命令行。如果需要在同一行执行多个命令,请在命令之间使用它们;把它们分开。常用选项-i:就地修改会改变源文件的内容。-n:在处理过程中,不输出正在处理的文本行。-r:使用正则表达式扩展。-f文件:从文件File中读取sed命令。地址n:第n行。[ming@localhosttest]$catdata.txtaa123aa456aaa789b123bb456bbb789[ming@localhosttest]$sed-n'2p'data.txta123p:打印行。$:最后一行。[ming@localhosttest]$sed-n'$p'data.txtbbb789/regexp/:匹配指定正则表达式的行。[ming@localhosttest]$sed-nr'/a+/p'data.txtaa123aa456aaa789[ming@localhosttest]$sed-nr'/a{2,}/p'data.txtaa456aaa789n~m:从第n行开始,每m行执行给定的命令。[ming@localhosttest]$catdata.txtaa123aa456aaa789b123bb456bbb789[ming@localhosttest]$sed-n'1~2p'data.txtaaa456b123bbb789addr1,addr2:从addr1开始到addr2结束,包括开头和结尾。[ming@localhosttest]$sed-n'2,4p'data.txta123aa456aaa789[ming@localhosttest]$sed-n'/123/,/123/p'data.txta123aa456aaa789b123addr,+n:从addr(含)开始,直到下n行。[ming@本地主机测试]$sed-n'2,+2p'data.txta123aa456aaa789[ming@localhost测试]$sed-nr'/a{3}/,+2p'data.txtaaa789b123bb4561。替换:s/regexp/replacement/replacement每行第一个匹配:将a替换为A[ming@localhosttest]$sed's/a/A/'data.txtAA123Aa456Aaa789b123bb456bbb789替换每行第二个匹配:[ming@localhosttest]$sed's/a/A/2'data.txtaa123aA456aAa789b123bb456bbb789替换每一行的所有匹配项:g[ming@localhosttest]$sed's/a/A/g'data.txtAA123AA456AAA789b123bb456bbb789使用正则表达式:[ming@localhosttest]$localhosttest]$sed-r's/[0-9]+/Number/'data.txtaaNumberaaNumberaaaNumberbNumberbbNumberbbbNumber参考匹配:&[ming@localhosttest]$sed-r's/[0-9]+/<&>/'data.txtaa<123>aa<456>aaa<789>b<123>bb<456>bbb<789>参考匹配组:\n[ming@localhosttest]$sed-r's/a{1,3}([0-9]+)/<\1>/'data.txt<123><456><789>b123bb456bbb789\n:引用第n组。2.删除行:d[ming@localhosttest]$sed'/a\+/d'data.txtb123bb456bbb7893。在指定行之前插入行:i\或a\:i\[ming@localhosttest]$sed-r'/a+/i\line1\n\line2'data.txtline1line2aline1line2a123line1line2aa456line1line2aaa789b123bb456bbb789插到指定行之后:a\[ming@localhosttest]$sed-r'/a+/a\line1'data.txtaline1a123line1aa456line1aaa789line1b123bb456bbb7894.替换行:c\[ming@localhosttest]$sed-r'/a+/c\linehasa'data.txtlinehasalinehasalinehasalinehasab123bb456bbb7895。映射:y/source/dest/[ming@localhosttest]$sed'y/ab/AB/'data.txtAA123AA456AAA789B123BB456BBB7896。读写文件将指定行写入指定文件:wFile[ming@localhosttest]$sed-nr'/a+/wa.txt'data.txt[ming@localhosttest]$cata.txtaa123aa456aaa789读取文件的内容并将其插入到指定行之后:rFile[ming@localhosttest]$catinput.txt----[ming@localhosttest]$sed-r'/a+/rinput.txt'data.txta----a123----aa456----aaa789----b123bb456bbb7897。使用变量[ming@localhosttest]$rpl="NUMBER"[ming@localhosttest]$sed-r's/[0-9]+/'"$rpl"'/'data.txtaaNUMBERaaNUMBERaaaNUMBERbNUMBERbbNUMBERbbbNUMBER8。使用脚本文件[ming@localhosttest]$cat脚本。sed/a+/{i\a开始a\aend}s/[0-9]+/Number/[ming@localhosttest]$sed-rfscript.seddata.txtabeginsbeginsbeginsbeginsbegins数字endbnumberbbnumberbbbNumber
