01-Sed简介
1 Sed简介
Sed(Stream EDitor)为Uninx系统上提供将编辑工作自动化的编辑器,使用者无需直接编辑数据。使用者可以利用Sed所提供的20多种不同的函数,进行不同的编辑动作。
Sed是以行为单位编辑文件,所以也称为行编辑器(Line editor)。
1.1 什么时候需要使用Sed
- 在修改文档时,需要重复进行的动作,可以使用Sed进行编辑。比如统一修改人名等。
- 一个文档需要多个不同操作的动作,可以用Sed一次执行。比如:Sed可以一次执行文档中的空白行删除、替换字符串、在第几行添加内容等。
1.2 Sed 所能做的编辑动作
- delete--删除
- change--改变
- append--添加
- insert--插入
- 合并
- 交换文件中的数据行
- 读入其他文件的数据到当前文件中
- substuite--替换
- 转换其中的字母
- .....
1.3 Sed 工作过程
如同其他Unix命令,Sed由标准输入读入编辑文件并由标准输出送出结果。
- 1.Read a line from input stream
- 2.Excute sed commands on a line
- 3.Display result on output stream
read -- Sed从输入流(文件、管道或者标准输入)读取一行并将其存储在其内部缓冲区中,该内部缓冲区称为模式缓冲区。
execute -- 将所有Sed命令顺序应用到模式缓冲区中。
display -- 将(已经修改的内容)发送到输出流。发送数据后,模式缓冲区将清空。
1.3.1 Sed 工作流程示例
//展示test.txt文件的内容,效果类似于cat命令
sed '' test.txt
/*
在上面这句话中,test.txt是输入的文件名,之前的单引号表示Sed命令。
*/
上面这句话的运行流程:
首先,sed从输入文件test.txt中读取一行,并将其存储在模式缓冲区中
然后,将sed命令应用于模式缓冲区。在上面的示例中没有sed命令,因此对于模式缓冲区不执行任何操作。
最后,删除并在标准输出上打印模式缓冲区的内容。
sed ''
Hello Word
Hello Word
如果没有文件输入,那么sed会接受命令行的标准输入,然后用命令进行处理,之后进行输出。退出局Sed回话模式,使用ctrl+D键。
01-Sed简介的更多相关文章
- 01 HDFS 简介
01.HDFS简介 大纲: hadoop2 介绍 HDFS概述 HDFS读写流程 hadoop2介绍 框架的核心设计是HDFS(存储),mapReduce(分布式计算),YARN(资源管理),为海量的 ...
- Sed简介 (转)
Sed简介 sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后,把缓 ...
- 01 . RabbitMQ简介及部署
RabbitMQ简介 MQ全称为Message Queue, 消息队列(MQ)是一种应用程序对应用程序的通信方法.应用程序通过读写出入队列的消息(针对应用程序的数据)来通信,而无需专用连接来链接它 ...
- 01 . Memcached简介及部署
Memcached简介 memcached是一个自由开源,高性能,分布式内存对象存储系统 基于内存的key-valued存储,用来存储小块的任意数据(字符串,对象) 他是一个简洁的key-value存 ...
- 01 . Redis简介及部署主从复制
简介 Remote Dictionary Server, 翻译为远程字典服务, Redis是一个完全开源的基于Key-Value的NoSQL存储系统,他是一个使用ANSIC语言编写的,遵守BSD协议, ...
- 01 . Mysql简介及部署
Mysql数据库简介 什么是数据? 数据(data)是事实或观察的结果,是对客观事物的逻辑归纳,是用于表示客观事物的未经加工的原始素材,数据是信息的表现形式和载体,可以是符号,文字,数字,语音,图 ...
- 01 . GitLab简介及环境部署
GitLab简介 最初,该产品名为GitLab,是完全免费的开源软件,按照MIT许可证分发. 2013年7月,产品被拆分为:GitLabCE(社区版)和GitLabEE(企业版),当时,GitLabC ...
- JavaScript学习01 语言简介、基本使用和变量声明
JavaScript语言简介.基本使用和变量声明 JavaScript是网景(Netscape)公司开发的一种基于客户端浏览器.面向对象.事件驱动式的网页脚本语言. JavaScript的前身叫Liv ...
- 笨鸟先飞之ASP.NET MVC系列之过滤器(01过滤器简介)
过滤器 什么是过滤器? 过滤器(Filter) 主要的作用大致可以理解为把我们的附加逻辑注入到MVC框架的请求处理. 在ASP.NET MVC的请求处理中一种有19个管道事件分别是 BeginRequ ...
- Scala - 快速学习01 - Scala简介
Scala简介 Scala(Scalable Language)是一门多范式(multi-paradigm)编程语言,Scala的设计吸收借鉴了许多种编程语言的思想,具备面向对象编程.函数式编程等特性 ...
随机推荐
- 【JavaSE】JDK 环境配置
下载 JDK 网站网址:oracle 安装 JDK 双击运行安装包 配置环境变量
- 【MySQL】02_子查询与多表查询
子查询 指一个查询语句嵌套在另一个查询语句内部的查询,这个特性从MySQL 4.1开始引入. SQL 中子查询的使用大大增强了 SELECT 查询的能力,因为很多时候查询需要从结果集中获取数据,或者 ...
- 从 Wepy 到 UniApp 变形记
作者:vivo 互联网前端团队-Wan Anwen.Hu Feng.Feng Wei.Xie Tao 进入互联网"下半场",靠"人海战术"的研发模式已经不再具备 ...
- 畅联云平台(www.24hlink.cn)支持的用传列表
无锡蓝天 沈阳君丰 无锡富贝 海康威视 海湾 苏州思迪 法安通 北大青鸟 金盾 依爱 威隆 1)几乎集齐了市场上常见的用户信息传输装置的类型,如果没接入的,我们也能接入哦. 2)欢迎咨询我们关于用传的 ...
- java学习之spring基础
0x00前言 spring框架应用的是ioc模式,ioc模式是指控制反转模式,本质是你不去创建对象让spring框架给你创建对象你去使用对象.多种开发模式通过配置文件和注解的方式去开发的都很值得去学习 ...
- 1.nginx学习
我们平时访问的网络网站就是WEB网络服务,允许用户通过浏览器访问互联网中的各种资源服务 WEB服务器会通过HTTP或者HTTPS的方式将请求内容传递给客户端 目前常见的WEB服务有IIS, Nginx ...
- 基于python的数学建模---高阶样条插值
为了满足对函数光滑性的需要,我们可以使用一种有弹性的长条(称之为样条),强迫它弯曲通过样本点. import numpy as npimport matplotlib.pylab as plfrom ...
- 我的第一个项目(二):使用Vue做一个登录注册界面
好家伙, 顶不住了,太多的bug, 本来是想把背景用canvas做成动态的,但是,出现了各种问题 为了不耽误进度,我们先把一个简单的登录注册界面做出来 来看看效果: (看上去还不错) 本界面使用 ...
- SSH SCP 使用秘钥验证 登录
从Win10连接到Ubuntu 22.04. 1. Win10 上生成秘钥公钥 ssh-keygen -t rsa -C "xxx@yyy.com" 2. Ubuntu 22.04 ...
- 关于mysql远程连接失败的问题解决
解决办法 mysql 数据库user表配置密码 mysql 数据库user表配置plugin字段为mysql_native_password mysql 数据库user表host字段更改为% mysq ...