Linux系统sed命令常用参数实战

常用参数

  • -n 输出某行的文本内容,通常与p联合使用,
  • -e 命令行模式下进行sed的动作编辑,输出编辑后的内容,源文件不会发生变化
  • -f 以命令中指定的script文件来处理输入的文本文件
  • -i 直接编辑源文件

常用动作参数

  • a 行后追加行
  • c 替换
  • d 删除
  • i 行前插入行
  • p 打印
  • s 查找并替换

插入操作

  • 行前插入
[root@localhost data1]# sed -i -e '2itest' test.txt

  • 行后插入
[root@localhost data1]# sed -i -e '2atest' test.txt

  • 尾行插入
[root@localhost data1]# sed -i -e '$a123' test.txt

  • 插入多行\n表示换行,\t 表示一个制表位
[root@localhost data1]# sed -i -e '2i123\n123\t123' test.txt

  • 插入的字符中存在\n\t时,需要转义
[root@localhost data1]# sed -i -e '2i123\\n123\\t123' test.txt

删除操作

  • 删除第2行
[root@localhost data1]# sed -i -e '2d' test.txt

  • 删除尾行
[root@localhost data1]# sed -i -e '$d' test.txt

  • 删除第2行及第4行
[root@localhost data1]# sed -i -e '2d;4d' test.txt

  • 删除第2行至第4行
[root@localhost data1]# sed -i -e '2,4d' test.txt

修改操作

  • 将第1行的内容替换为1
[root@localhost data1]# sed -i -e '1c1' test.txt

  • 将尾行内容替换为end
[root@localhost data1]# sed -i -e '$cend' test.txt

  • 将第一行至第三行的内容替换为3
[root@localhost data1]# sed -i -e '1,3c3' test.txt

思考:有没有替换第一行和第三行的内容为某个值?

网上百度了好久,没有得到有用的结果,静下心来思考了下替换的实现逻辑,由上面的结果得知(将第一行至第三行的内容替换为3),是将所指定的行删除后再新增了一行内容,那么删除第1行和第3行后新增的内容是放在第几行呢?放在第1行或者第3行都感觉不太对,因此本人觉得应该没有替换第一行和第三行的内容为某个值的sed写法,个人见解,如有错误勿喷,请留言交流,非常感谢!!!

查询操作

  • 查看第一行内容
sed -n -e '1p' test.txt

  • 查看第1行及第3行内容
[root@localhost data1]# sed -n -e '1p;3p' test.txt

  • 查看第1行至第3行内容
[root@localhost data1]# sed -n -e '1,3p' test.txt

  • 查看尾行
[root@localhost data1]# sed -n -e '$p' test.txt

替换操作

  • 替换每行的第一个匹配值
[root@localhost data1]# sed -i -e 's/ww/root/' test.txt

  • 替换文件中所有匹配的值
[root@localhost data1]# sed -i -e 's/root/ww/g' test.txt

Linux系统sed命令常用参数实战的更多相关文章

  1. Linux系统——sed命令

    sed命令精讲 cat工作原理 cat命令只想文件,把文件打开后,将文件中所有内容一次性读到内存中,从内存里一次性输出到屏幕上,此时可能存在内存装不下的情况,因此cat命令只能查看小文件内容,不能读取 ...

  2. NO22 Linux正则表达式--grep命令常用参数

    Linux正则表达式:  一.基础正则第一波字符说明: 示例: 二.基础正则第二波字符说明:  三.基础正则第二波字符说明: 示例:  grep:一般常用参数 示例:+和*  ?和.:  |:  () ...

  3. Linux系统date命令的参数及获取时间戳的方法

    date指令相关用法示例 date 用法: date [OPTION]... [+FORMAT]date [-u|--utc|--universal] [MMDDhhmm[[CC]YY][.ss]] ...

  4. Linux操作系统的文件查找工具locate和find命令常用参数介绍

    Linux操作系统的文件查找工具locate和find命令常用参数介绍 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 一.非实时查找(数据库查找)locate工具  locate命 ...

  5. Linux系统-解压缩命令集合

    Linux系统-解压缩命令集合 linux zip命令 zip -r myfile.zip ./* 将当前目录下的所有文件和文件夹全部压缩成myfile.zip文件,-r表示递归压缩子目录下所有文件. ...

  6. free命令常用参数详解

    free命令常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在运维期间我们会经常去查看服务器硬件信息,比如说内存,大家可能知道看内存用“[root@yinzhengji ...

  7. [转帖]RPM的原理及rpm命令常用参数

    RPM的原理及rpm命令常用参数 2015年09月14日 15:39:43 lose_wait 阅读数 1298 https://blog.csdn.net/u012012939/article/de ...

  8. linux中sed命令(全面解析)

    目录 一:linux中sed命令介绍 1.sed作用 2.sed命令格式 3.参数 4.sed的编辑模式 5.sed参数解析用法 二:sed 参数 -f 案例实战解析 1.前介 2.引入简介 3.方法 ...

  9. Linux系统基础命令

    这是看itercast的学习笔记 Linux系统基础命令 日期时间 命令date用以查看.设置当前系统时间:格式化显示时间: +%Y--%m--%d 命令hwclock(clock)用以显示硬件时钟时 ...

随机推荐

  1. vue—子组件修改父组件的值

    如何在子组件中修改父组件的值第一步:首先得保证父组件中有值吧这是userManage.vue 1 data(){ 2 return{ 3 dialogCreate:'false' 4 } 5 } 第二 ...

  2. MongoDB 数据库开发规范

    MongoDB 数据库开发规范 转载自-落雨_ https://developer.aliyun.com/article/255536 简介: mongoDB库的设计 mongodb数据库命名规范:d ...

  3. 随机获取gbr颜色值

  4. SimpleDateFormat类的安全问题,这6个方案总有一个适合你

    摘要:你使用的SimpleDateFormat类还安全吗?为什么说SimpleDateFormat类不是线程安全的?带着问题从本文中寻求答案. 本文分享自华为云社区<[高并发]SimpleDat ...

  5. js 改变页面元素的内容

    改变页面标签里的内容 (方法) innerText innerHTML (常用)   代码示例 <div></div> <p> 我是文字 <span>1 ...

  6. Delphi 类库(DLL)动态调用与静态调用示例讲解

    在Delphi或者其它程序中我们经常需要调用别人写好的DLL类库,下面直接上示例代码演示如何进行动态和静态的调用方法: { ************************************** ...

  7. Go 语言 结构体链表

    @ 目录 1. 什么是链表 2. 单项链表的基本操作 3. 使用 struct 定义单链表 4. 尾部添加节点 5. 头部插入节点 6. 指定节点后添加新节点 7. 删除节点 1. 什么是链表 链表是 ...

  8. 在 ESXi 主机上关闭无响应的虚拟机电源

    使用 ESXi 命令行 使用 SSH 以 root 身份登录到 ESXi. 通过运行以下命令获取所有已注册虚拟机的列表,由其 VMID 和显示名称标识:       vim-cmd vmsvc/get ...

  9. ChCore Lab1 机器启动 实验笔记

    本文为上海交大 ipads 研究所陈海波老师等人所著的<现代操作系统:原理与实现>的课程实验(LAB)的学习笔记的第一篇. 书籍官网:现代操作系统:原理与实现,里面有实验的参考指南和代码仓 ...

  10. UniApp文件上传(SpringBoot+Minio)

    UniApp文件上传(SpringBoot+Minio) 一.Uni文件上传 (1).文件上传的问题 UniApp文件上传文档 uni.uploadFile({ url: 'https://www.e ...