Linux - 文件管理高级 sed

3.处理字符 sed

① sed 默认情况下不会修改原文件内容

② sed 是一种非交互式的编辑器

3.1 工作原理

将原文件一行一行的进行处理,取出一行,放入“模式空间进行处理”,处理完成之后将结果输出到屏幕上,然后读取下一行,重复处理操作,直到所有行都读取处理完毕。

==> 因此,当sed处理字符时,不添加任何选项和条件,则会将原文件内容,完整输出到屏幕中。

 例:sed ' ' /etc/group 会将/etc/group 全部输出一遍

3.2 用法

sed [选项] '模式 动作' 文件...
选项:相当对整个字符处理定大基调 

-n :静默,关闭模式空间的输出,不会将未匹配到的行进行输出;

-e :允许进行多项编辑,在一个sed语句中,进行多次处理;

写法1:     -e '动作1' -e '动作2'
写法2:    '动作1;动作2'

-f :后接sed脚本,指定执行的sed脚本(将模式动作写到文件中)

-r :允许使用拓展正则

-i :直接作用到文件,没有输出,欲使用时先不加-i看一下输出效果

-i.bak :修改原文件之前进行备份

模式:相当于对原文件匹配范围

1.空模式:表示所有的行都执行

2.以行号作为模式:

2.1> 单独行

2.2> 起始行,结束行

2.3> 起始行~步长

2.4> 起始行+N

3.以正则过滤作为表达式,

3.1> /正则表达式/

3.2> /正则表达式1/,/正则表达式2/       

==> 表示从匹配到正则表达式1开始,到匹配到正则表达式2之间的所有行

例如:/^root/,/sync$/

动作:对模式匹配到的行进行操作

d :删除

p :打印

r : 读取

w:写入

a :追加        // 在匹配到的下一行追加

i :插入        // 在匹配到的上一行插入

c :修改        // 整行替换

y :转换的命令        // 一 一 对应的转换,类似tr

sed '1 y/HAPY/hapy/' 6.1.txt        ==> 将文件6.1.txt 中第1行的所有HAPY 转换为 hapy

n :处理下一行

s :替换查找

用法:        ' 模式  s/[旧的内容(正则表达式)]/[替换的内容]/[修饰符]'

修饰符:        g 全局替换        p 打印        w 把处理过的行写入到文件中


示例1:

打印出/etc/passwd文件中的第5行

分析:首先静默其它输出 -n        行号模式 5         动作 p 打印

sed -n '5 p' /etc/passwd


示例2:

只打印/etc/passwd 文件的第5行和第10行

分析: 用选项-n 静默其他输出,用;(或者-e)进行多次打印p操作

sed -n '5 p; 10 p' /etc/passwd


示例3:

在/etc/passwd下,从以root开头的行,到以login结尾的行,将sbin替换为bin 

分析:范围替换用正则表达式进行匹配,s///进行替换,p将替换的行打印出

sed  -n '/^root/,/login$/ s/sbin/bin/gp'


 示例4:

cp /etc/group /opt       

修改 /opt/group  文件,将文件的所有小写替换为大写

分析:s/[a-z]/\u&/g         ==>        将所有的小写替换为大写,g全局替换

                   -i                  ==>        修改文件内容,直接作用到文件

sed -i 's/[a-z]/\u&/g' /opt/group


把文件的小写字母替换为大写字母?  固定写法

s/[a-z]/\u&/g

把文件的大写字母替换为小写字母? 固定写法

 s/[A-Z]/\l&/g  

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/bicheng/20360.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

彭涛 | 2024年5月小结

5月份还是蛮有刺激的,做了蛮多的事情,但是没赚到钱,真是一屯操作猛如虎,一看账户0.5。 就喜欢创业这种一天天累死累活还不赚钱的感觉,哈哈哈哈 老规矩简单说下这个月的情况,如果对你有收获就最好了。 游学丹…

【Tlias智能学习辅助系统】04 部门管理 删除 和 新增

Tlias智能学习辅助系统 04 部门管理 删除 和 新增 删除部门APIDeptController.javaDeptService.javaDeptServiceImpl.javaDeptMapper.java前端联调 新增部门API有一步简化DeptController.javaDeptService.javaDeptServiceImpl.javaDeptMapper.java前端联调 删除部门API 请求路径…

Selenium+Java 环境搭建

selenium 介绍 Selenium 是 web 应用中基于 UI 的自动化测试框架,支持多平台、多浏览器、多语言。 早期的 selenium RC 已经被现在的 webDriver 所替代,可以简单的理解为selenium1.0webdriver 构成 现在的 Selenium2.0 。现在我们说起 selenium &#xf…

适合学生写作业的台灯有哪些?台灯怎么选详细攻略!

在数字化飞速发展的今天,孩子们的学习和生活越来越离不开电子屏幕。然而,长时间盯着屏幕,不仅容易让眼睛感到疲劳,更是近视问题日益严重的元凶之一。每一位家长都希望孩子能拥有健康的视力,因此会为孩子挑选一台护眼灯…

MySQL十部曲之九:MySQL优化理论

文章目录 前言概述查询优化查询执行计划EXPLAIN获取表结构信息获取执行计划信息 EXPLAIN 输出格式如何使用EXPLAIN进行优化 范围访问优化单列索引的范围访问多列索引的范围访问 索引合并优化索引合并交叉访问算法索引合并联合访问算法索引合并排序联合访问算法 索引下推优化连接…

豆包浏览器插件会造成code标签内容无法正常显示

启用状态:页面的代码会显示不正常 禁用后,正常显示 害得我重置浏览器设置,一个个测试

spring mvc 中怎样定位到请求调用的controller

前言 在java web开发过程中,正常情况下controller都是我们自己写的,我们可以很方便的定位到controller的位置。但是有些时候我们引入的其他依赖中可能也有controller,为了找到并方便的调试jar包中的controller,我们一般会进行全局…

【CPP】双端队列简介(deque)

简介:双端队列(deque) 目录 1.概述2.特点3.底层原理 1.概述 双端队列:是一种顺序表和顺序表的结合数据结构,不是队列。 它提供顺序表的[]下标访问和链表的中间头部的较高效率插入删除操作。 2.特点 顺序表的优缺点: 优点&…

linux之docker- image.tar 的导出和导入

一、情况 docker 镜像有时无法从外网访问,需要把docker 打包导出到本地,然后以文件的形式,发送给其他人,再然后其他人把docker 镜像文件导入到自己的服务器本地镜像仓库,方可使用。也可把镜像上传到公司内网。下面就开…

Verilog HDL基础知识(二)

引言:本文继续介绍Verilog HDL基础知识,重点介绍赋值语句、阻塞与非阻塞、循环语句、同步与异步、函数与任务语法知识。 1. 赋值语句 在Verilog中,有两种进行赋值的方法,即连续赋值语句和过程赋值语句(块&#xff09…

Java数据结构-二叉搜索树

目录 1. 概念2. 二叉搜索树的操作2.1 查找2.2 插入2.3 删除 3. 全部代码 1. 概念 二叉搜索树是特殊的二叉树,也叫二叉排序树,它的特点是:每个结点的左子树上的所有结点的值都小于这个结点的值,右子树上的所有结点的值都大于这个结点的值,另外所有的左子树和右子树也分别为二叉…

详解 Spark 编程之 RDD 依赖关系

一、依赖与血缘关系 依赖:两个相邻 RDD 之间的关系血缘关系:多个连续的 RDD 的依赖由于 RDD 不会保存数据,为了提高容错性,每个 RDD 都会保存自己的血缘关系,一旦某个转换过程出现错误,可以根据血缘关系重新…

随身wifi网络卡顿怎么解决?随身WiFi哪个牌子的最好用?排名第一名的随身WiFi!

对于随身wifi靠不靠谱这个问题,网上一直存在争议。很多人的随身wifi网速不稳定,信号看着满格就是上不了网。关于随身wifi卡顿到底该怎么解决呢? 1.如果是设备网络在一个地方上网速度很快,换一个地方网络就不行了,很可能…

Linux学习笔记(清晰且清爽)

本文首次发布于个人博客 想要获得最佳的阅读体验(无广告且清爽),请访问本篇笔记 Linux安装 关于安装这里就不过多介绍了,安装版本是CentOS 7,详情安装步骤见下述博客在VMware中安装CentOS7(超详细的图文教…

ios v品会 api-sign算法

vip品会 api-sign算法还原 ios入门案例 视频系列 IOS逆向合集-前言哔哩哔哩bilibili 一、ios难度与安卓对比 这里直接复制 杨如画大佬的文章的内容: ios难度与安卓对比 很多人说ios逆向比安卓简单,有以下几个原因 1 首先就是闭源,安卓开源…

vscode过滤器@modified(查看配置了哪些设置)

文档 visualstudio•docs•getstarted•settingshttps://code.visualstudio.com/docs/getstarted/settings 说明 使用modified可以过滤出: 配置过的设置(和默认值不同); 在 settings.json 文件中配置了值的设置 步骤 1.打开…

Vue3实战笔记(53)—奇怪+1,VUE3实战模拟股票大盘工作台

文章目录 前言一、实战模拟股票大盘工作台二、使用步骤总结 前言 实战模拟股票大盘工作台 一、实战模拟股票大盘工作台 接上文&#xff0c;这两天封装好的组件直接应用,上源码&#xff1a; <template><div class"smart_house pb-5"><v-row ><…

JS对象由浅入深

对象 对象&#xff08;Object&#xff09;&#xff1a;JavaScript里的一种数据类型&#xff08;引用类型&#xff09;&#xff0c;也是用于存储数据的 好处&#xff1a;可以用来详细的描述某个事物&#xff0c;是用键值对形式存储语义更明了 特点&#xff1a;对象数据是无序的&…

模型 FABE(特性 优势 好处 证据)法则

说明&#xff1a;系列文章 分享 模型&#xff0c;了解更多&#x1f449; 模型_思维模型目录。特性、优势、好处、证据&#xff0c;一气呵成。 1 FABE法则的应用 1.1 FABE法则营销商用跑步机 一家高端健身器材公司的销售代表正在向一家新开的健身房推销他们的商用跑步机。以下…

【数据分享】中国电力年鉴(2004-2022)

大家好&#xff01;今天我要向大家介绍一份重要的中国电力统计数据资源——《中国电力年鉴》。这份年鉴涵盖了从2004年到2022年中国电力统计全面数据&#xff0c;并提供限时免费下载。&#xff08;无需分享朋友圈即可获取&#xff09; 数据介绍 自1993年首次出版以来&#xf…