Linux基本命令之sed

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Linux基本命令之sed相关的知识,希望对你有一定的参考价值。

语法格式
sed [options] [sed-commands] [input-file]
选项 [sed命令] [输入文件]

说明
1、sed-commands既可以是单个sed命令,也可以是sed命令组合
2、input-file(输入文件)是可选项,sed还能够从标准输入,如:管道获取输入

命令流程
技术分享图片

sed模式空间:sed软件内部的一个临时缓存,用于存放读取到的内容。
技术分享图片

例子:
1、使用文本
技术分享图片
2、增删改查

2.1增
a:追加文本到指定行后
i:插入文本到指定行前

2.1.1单行增加
技术分享图片
注:这是改变输出,而文本内容不会有任何变化,要想改变内容要加-i参数
技术分享图片

2.1.2多行增加
技术分享图片
记住这里一定要用单引号‘’
技术分享图片
技术分享图片
2.2删
d:删除指定的行
技术分享图片
案例:打印文件内容不包含abc
技术分享图片

2.3改
2.3.1按行替换
c:用新行替换旧行
技术分享图片

2.3.2文本替换

  1. s:单独使用将每一行中第一次匹配的字符串进行替换
  2. g:每一行进行全部替换
  3. i:修改文件内容
    技术分享图片
    说明:#是定界符,,定界符可以是任意符号。当替换内容包含定界符的时候,需转义。建议使用#。

案例:指定修改配置文件
技术分享图片

2.3.3变量替换
技术分享图片技术分享图片

2.3.4分组替换( )和1的使用说明
技术分享图片
技术分享图片
技术分享图片

案例:系统开机启动项优化
技术分享图片

2.3.5特殊符号&代表被替换的内容
技术分享图片

案例:批量重命名文件
技术分享图片
技术分享图片

2.4查
p:输出指定内容,当默认会输出2次(为什么是2次,因为sed命令会默认读取一行,输出一行,然后遇到p参数,再读取一行,输出一行)匹配的结果,因此使用n取消默认输出

2.4.1按行查询
技术分享图片
2.4.2按字符船查询
技术分享图片
2.4.3混合查询
技术分享图片
技术分享图片
特殊情况,前两行没有匹配到g,就向后匹配,如果匹配到g就打印此行

以上是关于Linux基本命令之sed的主要内容,如果未能解决你的问题,请参考以下文章

linux之文本内容替换命令sed

Linux三剑客之sed基本应用

Linux命令之——sed命令

Linux命令之sed使用入门概述

linux12shell编程 --> 三剑客之sed命令

sed教程之基本命令