Linux基础 |
您所在的位置:网站首页 › linux打印执行命令 › Linux基础 |
一、sed流编辑器介绍
1,概述
sed是一种在线编辑器,它一次处理一行内容。处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓冲区的内容送往屏幕。接着处理下一行,这样不断重复,直到文件末尾。文件内容并没有改变,除非你使用重定向存储输出。sed主要用来自动编辑一个或多个文件;简化对文件的反复操作;编写转换程序等 2,工作流程读取:sed 从输入流(文件、管道、标准输入)中读取一行内容并存储到临时的缓冲区中(又称模式空间,pattern space)。执行:默认情况下,所有的sed 命令都在模式空间中顺序地执行,除非指定了行的地址,否则sed 命令 将会在所有的行上依次执行。显示:发送修改后的内容到输出流。在发送数据后,模式空间将会被清空。在所有的文件内容都被处理完成之前,上述过程将重复执行,直至所有内容被处理完。 备注:在所有的文件内容都被处理完成之前,上述过程将重复执行,直至所有内容被处理完。 3,工作场景①. 编辑那些对舒适的交互式编辑而言太大的文件。 ②. 在编辑命令太复杂而难于在交互模式下键入的时候编辑任何大小的文件。 ③. 要在对输入的一趟扫描中有效的进行多个‘全局’(global)编辑函数。 4,常用选项sed命令常用选项 选项说明-e 或--expression=表示用指定命令来处理输入的文本文件,只有一个操作命令时可省略,一般在执行多个操作命令使用-f 或--file=表示用指定的脚本文件来处理输入的文本文件-h 或--help显示帮助-n、--quiet或--silent禁止sed编辑器输出,但可以与p命令一起使用完成输出-i直接修改目标文本文件sed命令操作符 选项说明s替换,替换指定字符d删除,删除选定的行a增加,在当前行下方增加一行指定内容i插入,在选定行上方插入一行指定内容c替换,将选定行替换为指定内容y字符转换,转换前后的字符长度必须相同p打印行内容。如果同时指定行,表示打印指定行;如果不指定行,则表示打印所有内容;如果有非打印字符,则以ASCII码输出。其通常与"-n"选项一起使用=打印行号l (小写L打印数据流中的文本和不可打印的ASCII字符(比如结束符$、制表符\t) 二、sed编辑器基本用法 1,默认打印格式:sed -n "行号p" 文件名 格式:sed -n '=' english sed -n '=;p' english 格式:删除行 sed '行号d' 文件名 删除字符串 sed ‘s/要删除的字符//g’文件名 1)通过行号删除![]() 删除空行的三种方法: grep -v "^$" file.txt //过滤出非空行cat file.txt |tr -s "\n" //压缩换行符sed '/^$/d' file.txt //删除空行 4,sed命令替换 1)匹配单字符进行替换![]() a:在行后添加内容 i:在行前插入内容 r:在行后读入文件内容
|
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |