sed

sed是一个非交互式的流文本编辑器,可实现增删改查,广泛适用于shell脚本中

工作原理

sed每次只从文本或标准输入中读取一行数据,将其拷贝到一个编辑缓冲区,然后对其如同命令一般处理,并显示出,

sed默认不直接修改文件,它只是显示到屏幕,-i:则修改文件

格式

sed [选项] '地址 编辑命令' 输入文件

shell 命令 | sed [选项] '地址 编辑命令'

sed [选项] -f sed sed脚本文件 输入文件

常用选项

  • -e:指定要执行额度命令,只有一个编辑命令可省略
  • -n:值输出处理后的行,读入时不显示,不对原文件修改
  • -i:直接编辑文件
  • -f: 从脚本文件中读取编辑命令执行

编辑命令格式

'地址 编辑命令'

地址:行数,正则表达式,$,没有地址则为全文

操作:

  • p:打印
  • d:删除
  • s:替换字符串
  • c:替换整行
  • r:读取指定文件
  • =:显示文件行号
  • a:append,追加指定内容到行后
  • i:inset,追加指定内容到行前
  • w:另存为
  • n:表示读入下一行内容
  • H:复制到剪贴板
  • g:将剪贴板中的内容覆盖到指定行

eg:

打印十二行内容:sed -n '12p' 文件名
输出3到5行内容:sed -n '3,5p' 文件名
输出所有奇数行:sed -n 'p;n' 文件名
输出1到5行的奇数行:sed -n '1,5{p;n}' 文件名
输出所有偶数行:sed -n 'n;p' 文件名
输出包含字母“H”的行:sed -n '/H/p' 文件名
输出最后一行:sed -n '$p' 文件名 删除第十六行:sed '16d' 文件名
删除空行:sed -i '/^$/d' 文件名
删除一和三行:sed -e '1d' -e '3d' 文件名 / sed '1d;3d' 文件名 替换o到O:sed 's/o/O/g' 文件名
以p为开头的行的行首加上#:sed '/^P/s/^/#/' 文件名
在每行行尾插入字符串EOF:sed 's/$/EOF/' 文件名
将第二行替换为AAAA:sed '2cAAAA' 文件名
将第五行到最后一行替换为两行AAAA,BBBB:sed '5.$cAAAA\nBBBB' 文件名 (\n换行)

sed编辑器的更多相关文章

  1. shell编程学习笔记之sed编辑器

    在shell编程中,大多数处理的都是文本文件.对文本文件进行处理除了使用交互式文本编辑器(vi[m],gedit......)也可以使用另外一类:流编辑器. 流编辑器:使用预定义的编辑规则来对文本进行 ...

  2. shell编程之sed编辑器&gawk程序

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://twentyfour.blog.51cto.com/945260/560372 s ...

  3. sed编辑器基础

    一. 更多的替换选项 ①替换标记 root@localhost sed]# cat data4.txt This is a test of the test script. This is the s ...

  4. shell——sed编辑器

    目录 一.sed编辑器 1.1.sed编辑器工作流程 读取: 执行: 显示: 1.2.格式 1.3.常用选项 1.4.常用操作 1.5.替换 一.sed编辑器 sed是一种流编辑器,流编辑器会在编辑器 ...

  5. 三剑客之sed编辑器 基操

    目录: 一.sed编辑器 二.打印内容 三.使用地址 四.删除行 五.替换 六.插入 一.sed编辑器 sed是一种流编辑器,流编辑器会在编辑器处理数据之前基于预先提供的一组规则来编辑数据流. sed ...

  6. Shell之sed编辑器

    Shell之sed编辑器 目录 Shell之sed编辑器 一.sed编辑器 1. sed编辑器概述 2. sed编辑器的工作流程 二.sed命令 1. 命令格式 2. 常用选项 3. 常用操作 三.操 ...

  7. sed编辑器使用(转)

    1.Sed简介 sed 是一种在线编辑器,它一次处理一行内容.处理时,把当前处理的行存储在临时缓冲区中,称为“模式空间”(pattern space),接着用sed命令处理缓冲区中的内容,处理完成后, ...

  8. Shell:sed流编辑器

    转载:http://blog.sina.com.cn/s/blog_ac9fdc0b0101lvdv.html sed和awk是永远地痛,学了又忘,主要是木有横向对比过,所以总把握不到精髓.它可以完美 ...

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

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

  10. 正则表达式、编辑器(vi、sed、awk)

    1. vi 2. 正则表达式 3. sed 1)打印命令:p 2)删除命令:d 3)替换命令:s 4. awk 1)awk 基本用途 2)匹配打印 3)判断打印 4)数组 1. vi vi 是 Lin ...

随机推荐

  1. 【SSO单点系列】(7):CAS4.0 二级域名

    CAS4.0 二级域名 一.描述 当cas成功登录后如果访问同一域名下的资源是 被当作同一应用下资源不需要再次请求登录,但是如果二级域名不同会 被当作不同应用在访问 需要请求CAS 在请求时会把TGC ...

  2. python利用signal自定义函数超时机制

    利用signal模块,可以给函数设置一个超时时间(精确到秒),结合装饰器实现:超时时间内函数运行完成正常退出,超时时间内函数未运行完成则抛出Timeout异常. 1 # coding:utf8 2 i ...

  3. Python爬取网页上想要的数据

    1.源代码如下 from urllib.request import urlopen,Request import urllib.request import re from bs4 import B ...

  4. OS-lab3

    OS-lab3 lab2之后,我们能够通过MMU访问内存了,不过操作系统最重要的是能够让进程运行. include env.h 定义了进程控制相关的变量,如进程数量NENV.进程状态ENV_FREE等 ...

  5. 使用 WSDL 指定的标准 SOAP 消息格式

    为 XML 文档(定义 Web 服务)定义架构的行业标准 Web 服务描述语言 (WSDL) 提供了两个主要的 SOAP 格式设置选项.这两个选项均在 XML 元素中指定,而不在主 WSDL 命名空间 ...

  6. 创建一个httpserver、httpclient

    最近因为要和java进行通信.约定好使用http协议进行消息传递.在网上找了很久server编写发现有个博主写的很详细,因此把东西记录下来以便下次使用.这是原博主网址:https://blog.csd ...

  7. 二分查找中mid值的计算方法

    在刷题的时候遇到许多二分查找的题目 发现很多大佬的题解中mid值得计算都是用的:mid = low + (high-low)/ 2; 为什么不用mid = (low+high)/ 2的计算方法呢? i ...

  8. Springboot 和hutool文件上传下载

    1.放开上传限制 servlet: multipart: enabled: true #默认支持文件上传 max-file-size: -1 #不做限制 max-request-size: -1 #不 ...

  9. nginx status code 状态码

    目录 1XX 临时响应并需要请求者继续执行操作的状态代码 2XX 成功功处理了请求的状态代码 3XX 重定向 要完成请求,需要进一步操作 通常用来重定向 4XX 表示请求可能出错,妨碍了服务器的处理 ...

  10. Nginx的重写功能——Rewrite

    Nginx的重写功能--Rewrite https://huaweicloud.csdn.net/63566cced3efff3090b5f470.html?spm=1001.2101.3001.66 ...