sed工作原理:

sed: Stream Editor。流编辑器 --- 属于行编辑工具

sed和vim一样都是文本编辑工具。

行编辑工具:一行一行处理文件内容

全屏编辑工具:一次性将文件内容加载到内存

sed工作流程:

sed工作逻辑:逐行处理内容

一次读取一行内容到模式空间(内存空间)进行处理。这个处理过程可以是输出,也可以是更改文件内容再写入文件等。由此反复处理,直到最后一行处理完成。

sed基本用法:

sed可以显示文件内容也可以修改文件内容。

grep只能查看文件内容。

格式:

sed [option] 'script...script' [inputfile]

script: sed自身的脚本,sed自身语法的一种脚本。

inputfile: 文件,如果不写文件就对标准输入的内容进行处理

sed最基本的用法--自动打印:sed ''(''里面的脚本内容不能省略)

不输入脚本就是读入什么就默认打印什么 --- sed内置了自动打印的功能

选项:

-n:关闭sed的自动打印
-e:多点编辑(一次更改多个内容)
-r,-E:使用正则表达式
-i.bak 先把文件做个备份然后再改
-s:将多个文件视为单独的文件

sed的脚本格式:

位置和指令组合而成

地址格式: 处理文件的内容范围

空地址

表示对全文处理

单地址

num:指定的行,$:最后一行

例如:打印第三行的内容



显示ifconfig命令的第二行。

/pattern/:被此处模式所能够匹配到的每一行 (里面可以写正则表达式实现过滤)

例如:打印出包含root的行

地址范围

n,n:表示从n行到第m行,例如 3,6 表示从第3行到第6行 (n,+m 表示从n行到+m行,例如:3,+4 表示从3行到第7行)

/pat1/,/pat2/ (第一个正则表达式之后到下一个正则表达式中间的内容)

例如:匹配以b开头到以g开头的行的中间那些行。



找到了第一个满足条件的范围后不会停止,还会继续往下面找。

#,/pat/或/pat/,# (数字和正则表达式混着用)

步进:每次指定多少个

1~2 奇数行 --- 从第一行开始,以2行为步进(1 3 5 7 ...)

2~2 偶数行

命令:

1. p --- 内容打印
2. Ip --- 忽略大小写输出
3. d --- 把模式空间内容删除掉,不再自动打印了
4. a --- 再某些行后面加内容
5. i --- 再某些行前面加内容
6. c --- 替换某一行的内容
7. w --- file 另存为指定文件
8. r --- 把一个文件内容读到当前匹配到的行中
9. = --- 某一行前面添加行号
10. ! --- 除了某一行的意思
11. q --- 结束或退出sed

例如:删除偶数行,显示奇数行。



并不会真正删除文件内容,只是显示了一下。

搜索替代(sed的核心用法)

格式:

s/pattern/string/修饰符 --- 支持使用其它分隔符,可以是其它形式:s@@@,s###

替换修饰符:

 g 行内全局替换
p 显示替换成功的行
w   /PATH/FILE 将替换成功的行保存至文件中
I,i   忽略大小写

&符号:表示搜索出来的内容。 相当于一个变量,保存搜索出来的内容

正则表达式分组:小括号实现分组,后面要表示第几个分组的内容就用 \num --- 实现把一个文件的一行切成多块,保留其中之一。

比如:把r..t替换成r..ter,前面是root则&代表的就是root。



例如:值显示主机的ip地址

范例:是用sed实现批量修改网卡名称

sed高级用法:

保持空间:将模式空间的数据临时保存到这儿。

高级命令:

x 把模式空间中的内容与保持空间中的内容进行互换(数据互换)
H 把模式空间中的内容追加至保持空间中(内容追加)
n 读取匹配到的行的下一行覆盖至模式空间(下一行覆盖到模式空间)
N 读取匹配到的行的下一行追加至模式空间(下一行追加到模式空间)
d 删除模式空间中的行

范例:

Linux文本三剑客-sed的更多相关文章

  1. Linux文本三剑客超详细教程---grep、sed、awk

    awk.grep.sed是linux操作文本的三大利器,合称文本三剑客,也是必须掌握的linux命令之一.三者的功能都是处理文本,但侧重点各不相同,其中属awk功能最强大,但也最复杂.grep更适合单 ...

  2. Linux文本三剑客总结

    Linux文本处理三剑客 grep 文本过滤(模式:pattern)工具 grep, egrep, fgrep(不支持正则表达式搜索) grep  grep: Global search REgula ...

  3. Linux文本处理sed、软件包管理、磁盘存储、文件系统和挂载

    Linux文本处理工具sed.软件包管理.磁盘存储及文件系统 文本处理工具sed巧妙用法 1.通过sed获取文件路径的基名和目录名 思路:采用正则表达式将文本字符串分组,取对应的分组后向引用即可. 获 ...

  4. Linux 文本三剑客之 sed

    Linux 系统中一切皆文件. 文件是个文本.可以读.可以写,如果是二进制文件,还能执行. 在使用Linux的时候,大都是要和各式各样文件打交道.熟悉文本的读取.编辑.筛选就是linux系统管理员的必 ...

  5. Linux文本三剑客

    grep 文本过滤工具. 作用: 文本搜索工具,根据用户指定的行进行匹配检查,打印匹配到的行. 模式: 由正则表达式字符及文本字符所编写的过滤条件. grep的使用 语法:  grep [OPTION ...

  6. Linux 文本三剑客之 awk

    Linux 系统中一切皆文件. 文件是个文本.可以读.可以写,如果是二进制文件,还能执行. 在使用Linux的时候,大都是要和各式各样文件打交道.熟悉文本的读取.编辑.筛选就是linux系统管理员的必 ...

  7. Linux 文本三剑客之 grep

    Linux 系统中一切皆文件. 文件是个文本.可以读.可以写,如果是二进制文件,还能执行. 在使用Linux的时候,大都是要和各式各样文件打交道.熟悉文本的读取.编辑.筛选就是linux系统管理员的必 ...

  8. 文本三剑客---sed 基础

    sed编辑器被称作流编辑器(stream editor),和普通的交互式文本编辑器恰好相反.在交互式文本编辑器中(比如vim),你可以用键盘命令来交互式的插入.删除或者替换数据中的文本.流编辑器则会自 ...

  9. linux文本三剑客之grep

    grep(global search regular expression(RE) and print out the line,全面搜索正则表达式并把行打印出来)是一种强大的文本搜索工具,它能使用正 ...

随机推荐

  1. Grafana中文汉化

    可视化图表 Grafana是一个通用的可视化工具.通过Grafana可以管理用户权限,数据分析,查看,导出,设置告警等. 仪表盘Dashboard 通过数据源定义好可视化的数据来源之后,对于用户而言最 ...

  2. 入门学习SpringCloud

    今天趁着空余时间,看了一丁点狂神SpringCloud的视频.学习微服务及架构相关知识,明天再学习系列视频的剩下部分,部署第一个SpringCloud练习. 同时趁着晚上课后大家有时间组织了小型会议, ...

  3. 随机获取gbr颜色值

  4. MySQL事务提交流程详解

    MySQL事务的提交采用两阶段提交协议, 前些日子和同事聊的时候发现对提交的细节还是有些模糊,这里对照MySQL源码详细记录一下,版本是MySQL5.7.36. 一. 事务的提交流程. 1. 获取 M ...

  5. defer综合

    A "defer" statement invokes a function whose execution is deferred to the moment the surro ...

  6. 数仓建设 | ODS、DWD、DWM等理论实战(好文收藏)

    本文目录: 一.数据流向 二.应用示例 三.何为数仓DW 四.为何要分层 五.数据分层 六.数据集市 七.问题总结 导读 数仓在建设过程中,对数据的组织管理上,不仅要根据业务进行纵向的主题域划分,还需 ...

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

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

  8. struts2绕过waf读写文件及另类方式执行命令

    之前碰到过好几次Struts2,还都是016,项目.众测都遇到过,每次都只是证明了一下存在,由于waf的存在,没有深入去利用,这里简单的记录下. 0x01 背景 xray或者Struts2漏扫可以扫到 ...

  9. PostgreSQL配置调优在线工具

    链接: https://pgtune.leopard.in.ua/#/

  10. 【论文笔记】Federated Learning for Wireless Communications: Motivation, Opportunities, and Challenges(综述)

    Federated Learning for Wireless Communications: Motivation, Opportunities, and Challenges Authors So ...