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. SSRF——介绍利用(不全)

    1. SSRF介绍 SSRF(Server-side Request Forge, 服务端请求伪造). 由攻击者构造的攻击链接传给服务端执行造成的漏洞,一般用来在外网探测或攻击内网服务. 2. SSR ...

  2. 基于Spring接口,集成Caffeine+Redis两级缓存

    原创:微信公众号 码农参上,欢迎分享,转载请保留出处. 在上一篇文章Redis+Caffeine两级缓存,让访问速度纵享丝滑中,我们介绍了3种整合Caffeine和Redis作为两级缓存使用的方法,虽 ...

  3. 数组-LeetCode-笔试

    目录 数组理论基础 二分查找 二分法第一种写法 二分法第二种写法 ACM 移除元素 暴力解法 双指针法(快慢指针) ACM 有序数组的平方 暴力排序 双指针法 长度最小的子数组 暴力解法 滑动窗口 相 ...

  4. intel 82599网卡(ixgbe系列)术语表

    Intel® 82599 10 GbE Controller Datasheet 15.0 Glossary and Acronyms 术语表 缩写 英文解释 中文解释 1 KB A value of ...

  5. nacos集群模式搭建踩坑记录

    首先数据库使用的本地的mysql 1.看日志提示no set datasource,使用虚拟机ping本地后发现无法ping通,原因是本地没有关闭防火墙. 2.看日志提示不允许建立数据库连接,原因是r ...

  6. 面试官:ZAB协议是什么?

    哈喽!大家好,我是小奇,一位不靠谱的程序员 小奇打算以轻松幽默的对话方式来分享一些技术,如果你觉得通过小奇的文章学到了东西,那就给小奇一个赞吧 文章持续更新 一.前言 这天是越来越热了,但是还是有很多 ...

  7. php实验一专属跳转博文

    今天完成了php关于设计个人博客主页的实验一作业. 这是php实验一作业中博客的跳转链接页.  

  8. 2022.02.20 SA

    2022.02.20 SA 如果我还能看见明天黎明,如果我还能再爬起来,我仍会走我的路,哪怕这条路已经荒废许久,也许我们无法拥有感情,我们甚至无法像个正常人一样接受太阳的洗礼,但是我依然会执行我的条约 ...

  9. 从零开始,开发一个 Web Office 套件(15):拖动边框,平移编辑器

    这是一个系列博客,最终目的是要做一个基于 HTML Canvas 的.类似于微软 Office 的 Web Office 套件(包括:文档.表格.幻灯片--等等). 博客园:<从零开始, 开发一 ...

  10. 今天遇到 Could not determine type for: java.util.List

    今天遇到 Could not determine type for: java.util.List 用hibernate 映射好好的竟然出现这个问题 以前也遇到过,但不知道怎么给解决了,今天又遇到了, ...