简介sed是一款非常优秀的文件处理工具。它本身就是一个管道命令。它主要以行为单位进行处理。数据行可以替换、删除、添加、选择等具体任务,我们先来了解一下sed的用法。sed命令行格式为:sed[-nefri]'command'输入文本参数-n:使用静默(silent)模式。在正常的sed使用中,来自STDIN的所有数据通常都列在屏幕上。但如果加上-n参数,则只会列出经过sed特殊处理的行(或action)。-e:直接在命令行模式下编辑sed动作;-f:直接在文件中写入sed动作,-ffilename可以执行filename中的sed动作;-r:sed动作支持扩展正则符号的语法。(默认为基本正则表达式语法)-i:直接修改读取文件的内容,而不是从屏幕输出。常用命令a:add,a后面可以跟一个字符串,这些字符串会换行出现(当前下一行)~c:replace,c后面可以跟一个字符串,这些字符串可以替换n1,n2!之间的线!d:删除,因为是删除,所以d后面一般没有dongdong;i:插入,i后面可以跟字符串,这些字符串会换行出现(当前上一行);p:Print表示将选定的数据打印出来。通常p会配合参数sed-n~s:replace,可以直接进行替换的工作!通常这个动作可以搭配正则记法!比如1,20s/old/new/g就够了!注意这里的增删改查不会改变原文件,只是临时编辑显示在屏幕上example#Add[root@localhost~]#sed'$atangerine:50:100'sort。txt#最后一行添加apple:10:2.5orange:20:3.4banana:30:5.5pear:90:2.3tangerine:50:100[root@localhost~]#catsort.txt#不要改变原文apple:10:2.5orange:20:3.4banana:30:5.5pear:90:2.3#deletesed'1d'test#delete第一行sed'$d'test#delete最后一行sed'1,2d'test#delete第一行到第二行sed'2,$d'test#删除第二行到最后一行#更改sed'1cpitaya100:2.5'sort.txt#第一行换成火龙果pitaya100:2.5orange:20:3.4banana:30:5.5pear:90:2.3sed-n'/apple/p'sort.txt|sed's/apple/zhouzhou/g'#把apple换成zhouzhou语法:s/old/new/g#在sort.txt的最后一行插入bye,注意这里的改变是改变原文件sed-i'$abye'sort.txt#-i直接修改读取文件的内容,而不是输出到屏幕上。catsort.txtapple:10:2.5orange:20:3.4banana:30:5.5pear:90:2.3bye#checksed-n'1p'test#显示第一行sed-n'$p'test#显示lastOnelinesed-n'1,2p'test#显示第一行到第二行sed-n'2,$p'test#显示第二行到最后一行sed-n'/ruby/p'test#查询包括关键字ruby所在的所有行#源操作sed-i'/匹配字符串/d'文件名#删除匹配字符串的行sed-i'/匹配字符串/s/替换源字符串/替换目标字符串/g'文件名#替换
