sed简单定义
可以对文本的字符流做转换
字符流的编辑器
sed命令功能说明
擅长对行进行操作处理
擅长将文件的内容进行修改调整
编写脚本:直接进行编辑脚本中的信息
语法信息
sed
用 反斜杠/ 来区分每一步
sed -n '/name/p' 文件路径 对选中的文件里面的name进行筛选输出
sed -n '/name/,/age/p' 文件路径 筛选出name与age内容用,号相连接 逗号代表从哪里开始从哪里结束
sed -n '/name/p;/age/p' 文件路径 筛选出name与age内容用,号相连接 分号代表就找这两个
sed -n '3p' 文件路径 只显示第三行的信息
sed -n '3,10p' 文件路径 只显示第三行到第十行的信息的信息
sed -n '3p,10p' 文件路径 只显示第三行和第十行的信息的信息
sed 'i添加的内容' 文件路径 这样的话会对每一行进行添加 原因就是sed的执行原理
sed '1i添加的内容' 文件路径 添加到第一行只有第一行去添加
sed -i '1i添加的内容' 文件路径 将内存中修改的内容同步修改到磁盘 i = insert
sed -i '1a添加的内容' 文件路径 添加到第一行的后面一行 a = append
sed -i '$a108' 文件路径 利用$符号在最后一行添加信息
sed -e '/name/iage' -e '/name2/aname22' 文件路径 -e可以指定朵个命令
-n 取消默认输出
-r 识别拓展正则
-i 真实编辑文件
-e 可识别sed朵个操作指令
sed '3d' person.txt 删除第三行信息
sed '/name/d'
person.tex 删除name内容的东西
sed '3d;6d' person.tex 删除第三行和第六行
sed '2,6d' person.txt 删除第二行与第六行信息
sed命令执行原理
读取文件到内存中(模式空间)然后判断是否满足相应的要求,如果满足默认数据,-n默认不输出
总之就是在磁盘中读取一行放到内存一行而不是一次性读取,所以说命令也是一行一行执行
注意n和i 同时使用
如果i和n同时使用的时候 会出现大坑,拿到想取得内容然后保存丢弃不拿出来的内容
具体指令
p print
i insert
a append
d delete
s sunbstitute
g global
c change