一. sed命令

sed是一种几乎包括在所有UNIX平台(包括Linux)的轻量级流编辑器。sed主要是用来将数据进行选取、替换、删除、新增的命令

注意:vi命令只能修改文件,但不能修改命令的结果,如修改df结果的内容,sed的好处是不仅可以修改文件,而且可以从管道符接收数据来进行操作(修改命令的结果)

二. 语法

sed [选项] '[动作]' 文件名

选项:

  -n:  一般sed命令会把所有数据都输出到屏幕,如果加入此选择,则只会把经过sed命令处理的行输出到屏幕

  -e:  允许对输入数据应用多条sed命令编辑

  -i:   用sed的修改结果直接修改读取数据的文件,而不是由屏幕输出(不光输出更改,源文件也会修改)

动作:

  a \:  追加,在当前行后添加一行或多行。添加多行时,除最后一行外,每行末尾需要用"\"代表数据未完结

  c\:  行替换,用c后面的字符串替换原数据行,替换多行时,除最后一行外,每行末尾需用"\"代表数据未完结

  i\:   插入,在当前行前插入一行或多行。插入多行时,除最后一行外,每行末尾需要用"\"代表数据未完结

  d:   删除,删除指定的行

  p:   打印,输出指定的行

  s:   字符替换,用一个字符串替换另外一个字符串。格式为"行范围s/旧字串/新字串/g"   (和vim中的替换格式类似)

三. 实例

1. 查看

查看文件的第二行(不加-n,不仅把sed处理的行输出到屏幕,还会把所有的数据输出到屏幕,加了-n只会输出sed处理的行)

处理命令的执行结果(放在管道符后)

2. 删除

删除第二行到第四行的数据,但不修改文件本身

3. 追加

在第二行后追加hello

4. 插入

在第二行前插入两行数据

5. 替换行

替换第二行

6. 字符串替换

#sed 's/旧字串/新字串/g' 文件名

把第3行的74替换成99

把第3行的74替换成99,并直接写入文件

多个条件同时替换,同时把"Liming"和"Gao"替换为空

sed:轻量级流编辑器的更多相关文章

  1. Linux之sed,awk(流编辑器)

    sed:  s----substitute(替换) 1. 文本替换(使用-i选项,可以将结果应用于原文件) many people在进行替换之后,借助重定向来保存文件(未使用-i选项): $ sed  ...

  2. Linux下的sed流编辑器命令详解

    sed是stream editor的简称,也就是流编辑器.它一次处理一行内容,处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内 ...

  3. SED单行脚本快速参考(Unix 流编辑器)(转)

    sed.sourceforge.net被封杀,特在此处贴上官方的sed 使用说明文档 SED单行脚本快速参考(Unix 流编辑器) 2005年12月29日 英文标题:USEFUL ONE-LINE S ...

  4. Linux sed 流编辑器

    sed是stream editor的简称,也就是流编辑器.盗用一张图片解释原理 命令格式: SYNPPSIS: sed [OPTION]… {script-only-if-no-other-scrip ...

  5. SED单行脚本快速参考(Unix 流编辑器)

    ------------------------------------------------------------------------- SED单行脚本快速参考(Unix 流编辑器) 200 ...

  6. Shell 基础 -- 流编辑器 sed 详解

    一.流编辑器 sed 与命令 sed Linux 中,常使用流编辑器 sed 进行文本替换工作.与常使用的交互式编辑器(如vim)不同,sed 编辑器以批处理的方式来编辑文件,这比交互式编辑器快得多, ...

  7. 流编辑器sed

    sed与grep一样,都起源于老式的ed编辑器,因其是一个流编辑器(stream editor)而得名.与vi等编辑器不同,sed是一种非交互式编辑器(即用户不必参与编辑过程),它使用预先设定好的编辑 ...

  8. 快速理解linux流编辑器sed命令

    原创 杜亦舒性能与架构 之前介绍过 awk 命令,sed 命令同样是非常重要的文本处理工具,涉及到linux shell开发时,几乎是避不开这两大利器的 sed 是 stream editor 的简写 ...

  9. shell脚本学习笔记 (流编辑器sed)

    sed意为流编辑器(Stream Editor),在Shell脚本和Makefile中作为过滤器使用很普遍,也就是把前一个程序的输出引入sed的输入,经过一系列编辑命令转换为另一种格式输出. sed不 ...

随机推荐

  1. HDU_5521_Meeting

    Meeting Time Limit: 12000/6000 MS (Java/Others)    Memory Limit: 262144/262144 K (Java/Others)Total ...

  2. Fatal error in launcher: Unable to create process using '"c:\python37\python3.exe" "C:\Python37\Scripts\pip3.exe" install opencv-python'

    pip3.exe install opencv-python 报错: Fatal error in launcher: Unable to create process using '"c: ...

  3. Servlet + JSP 时代

    Spring,Django,Rails,Express这些框架技术的出现都是为了解决什么问题,现在这些框架都应用在哪些方面? - 知乎 https://www.zhihu.com/question/2 ...

  4. Python开发【笔记】:concurrent.futures 平行运算

    平行运算 前言: 编写Python程序时,我们可能会遭遇性能问题,即使优化了代码,程序也依然有可能运行的很慢,从而无法满足我们对执行速度的要求,目前的计算机,其cpu核心数越来越多,于是,我们可以考虑 ...

  5. (windows下)tomcat优化--内存,并发.缓存三方面优化

    一.内存 注: jdk1.8中废弃了-XX:PermSize和-XX:MaxPermSize的持久态(存放常量.静态变量区)配置, 多了一个元数据区(Metadata Space:默认为内存的0.2% ...

  6. Flask系列之源码分析(一)

    目录: 涉及知识点 Flask框架原理 简单示例 路由系统原理源码分析 请求流程简单源码分析 响应流程简单源码分析 session简单源码分析 涉及知识点 1.装饰器 闭包思想 def wapper( ...

  7. IETF国标查询

    IETF官网 https://www.ietf.org/ rfc国标官网 https://www.ietf.org/standards/rfcs/ rfc国标查询 https://www.rfc-ed ...

  8. 优雅的使用Laravel之phpstorm配置

    优雅的使用Laravel之phpstorm配置 先打开一个Laravel 项目,然后在project tool 窗口选择根节点.然后右键->Composer | Init composer . ...

  9. Linux安装rpm包时报错Header V3 DSA/SHA1 Signature, key ID 1d1e034b: NOKEY解决办法

    这是因为yum安装了旧版本的GPG key造成的,解决办法: rpm --import /etc/pki/rpm-gpg/RPM* Header V3 DSA/SHA1 Signature, key ...

  10. 常微分方程初值问题:单步方法 [MATLAB]

    #先上代码后补笔记# #可以直接复制粘贴调用的MATLAB函数代码!# 1. 朗格-库塔(Runge-Kutta)方法族 目前只实现了四阶Runge-Kutta方法. function [ YMat ...