简述

  • 字符替换命令sed
  • 和vi功能相似,但是vi是给用户用的,sed是给脚本用的
  • sed是一种几乎包括在所有的UNIX平台(包括Linux)的轻量级流编辑器。s
  • sed主要是用来将数据进行选取、替换、删除、新增的命令。
  • 可以和管道符配合使用

格式

命令

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

选项

  • -n 只输出经过sed处理过的行到屏幕;把进过sed处理的行输出到屏幕上,没加全部输出
  • -e 允许一次应用多个动作;加了可以执行多条命令
  • -i 直接修改文件,并且不由屏幕输出;没加,执行临时修改,加了永久修改文件

动作

  • -a:追加,在当前行后添加一行或多行
  • -c:行替换,用c后面的字符串替换原数据行
  • -i:插入,在当前行插入一行或多行。
  • -d:删除,删除指定的行
  • -p:打印,输出指定的行
  • -s:字符串替换,用一个字符串替换另外一个字符串;格式为"行范围s/旧字串/新字串/g"

例子

动作'p'+选项i-输出指定行

  • sed '2p' zifu1.text
  • #查看文件的第二行
  • sed -n '2p' zifu1.text
  • #没有-n,p没有意义,所有p的和选项-n一起使用

动作'd'-删除

  • sed ’2d‘ zifu1.text
  • #删除第二行的数据
  • sed '2,4d' zifu1.text
  • #删除第二行到第四行的数据,但不修改文件本身,加选项-i对文件进行操作

动作'a'-追加

  • sed '2a 下面是基本信息' zifu1.text
  • #在第二行后追加信息
  • #格式'第几行+动作a+空格+追加信息'

动作'i'-插入

  • sed '2i 这是基本信息' zifu1.text
  • #在第二行前插入信息
  • #格式'第几行+动作i+空格+插入信息'

动作'c'-替换

  • sed '2c hello Shell' zifu1.text
  • #第二行数据替换
  • #格式'第几行+动作c+空格+替换信息'

动作's'+选项i+选项e-字符串替换

  • sed 's/旧字串/新字串/g' 文件名
  • g的作用把碰到所有符合条件的全部替换
  • 基本格式
  • 具体实例
  • sed '2s/55/100/g' zifu1.text
  • #在第二行中,把55换成100
  • sed -i '2s55/100/g' zifu1.text
  • #把数据写入文件

  • sed -e 's/张三//g;s/王五//g' zifu1.text
  • 同时把“张三”和“王五”替换为空

  • sed 's/100/0/g' zifu1.text
  • #不加行号时候,全文匹配替换

 

最新文章

  1. Codeforces Round #389 (Div. 2, Rated, Based on Technocup 2017 - Elimination Round 3) B
  2. 使用Git命令上传本地项目
  3. android用讯飞实现TTS语音合成 实现中文版
  4. Delphi Dll示例
  5. Java编程思想 (1~10)
  6. ExpandableListView 箭头靠右
  7. Oracle创建表、索引、主键、字段描述
  8. 定制openwrt的根文件
  9. emacs format
  10. php生成雪花图像(不美观请见谅)
  11. flutter -------- GridView的使用
  12. Linux平台生成awr报告
  13. 【vue】使用localStorage解决vuex在页面刷新后数据被清除的问题
  14. 网络编程-C/S架构
  15. 搭建ELK日志分析系统
  16. python基础之IO编程
  17. jquery----Ajax补充
  18. springboot+thymeleaf+springbootJPA实现一个简单的增删改查
  19. django之 基于queryset和双下划线的跨表查询
  20. js delete可以删除对象属性及变量

热门文章

  1. 博客CSS样式 二
  2. noip模拟45[真是啥也不会]
  3. OSI网络参考模型学习
  4. 关于Typora的使用
  5. 回忆java输入输出流,走出误区
  6. BeanUtils使用:从一个map集合中,拷贝到javaBean中(四)
  7. Go版本依赖--伪版本
  8. win修改host问及那
  9. 二、安装部署指定的docker版本
  10. Java程序中使用Spire Jar包报java.lang.NoSuchMethodError类型错误的解决方法