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. 微信h5支付/jsapi支付/小程序支付

    一. 介绍------------------------------------------------------------------ 微信支付官方开发文档:  https://pay.wei ...

  2. Hadoop-集群运行

    目录 步骤一.NameNode 格式化 步骤二.启动 NameNode 步骤三.启动 SecondaryNameNode 步骤四.slave 启动 DataNode 步骤五.查看 HDFS 的报告 步 ...

  3. 招商银行 KubeVela 离线部署实践

    招商银行云平台开发团队自 2021 年开始接触 KubeVela,并探索 KubeVela 在招商银行云平台的落地实践,借此提升云原生应用交付与管理能力.同时因为金融保险行业的特殊性,网络安全管控措施 ...

  4. 前端NEXT实践系列:(一)ECMAScript 6.0技术栈

    随着ECMAScript 6.0(ES6)是JavaScript 语言的下一代标准的普及,各个大公司和大的厂商都推出了自己的前端开发框架,如Angular,React,Vue 等,微软更是锦上添花,开 ...

  5. FastDFS分布式的文件系统从小白入门到企业实践打怪之路系列笔记 【运维实践】

    描述: FastDFS 是阿里的余庆大佬用 C 语言编写的一款开源的分布式文件系统(个人项目),它对文件进行管理.功能包括:文件存储.文件同步.文件访问(文件上传.文件下载)等,适合中小文件(4KB ...

  6. Java学习day26

    进程.多任务 1.例如吃饭的时候玩手机,边上厕所边玩手机,看似是同时做多个事情,本质上我们的大脑在同一时间只做了一件事情,这就是多任务 2.道路窄的时候容易造成拥堵,可以拓宽道路,加多车道,同一个方向 ...

  7. 推荐一个我写的Python库——PyNAS

    介绍 PyNAS是一个以Python的Updog的库为基础,制作而来的库 安装 pip安装(推荐) pip install PyNAS 源码安装(推荐) Github: git clone https ...

  8. CoAP调试工具 Mozi.IoT.CoAP

    前言 CoAP是一种类HTTP协议的物联网专用协议,其数据包为人类不可阅读的字节流形式,在开发相关应用的时候往往不能准确的了解数据包的内容.故需要专用的调试工具对数据和通讯进行调试. CoAP协议介绍 ...

  9. 09. 树莓派ASP.NET环境配置

    在树莓派上部署ASP.NET环境(树莓派做ASP.NET项目服务器),之后Windows上开发的ASP.NET项目可以部署在树莓派上.配置过程如下: 前言:本篇文章内容是根据mono官网上查阅的配置教 ...

  10. 攻防世界-MISC:2017_Dating_in_Singapore

    这是MISC高手进阶区的题目:题目如下: 点击下载附件一,得到一张pdf图片,除此之外就只有题目给的字符串了,不知道是什么意思(查看了一下WP)原来每一串通过"-"隔开的字符串代表 ...