20200603——云计算运维18 操作系统三剑客命令sed

课程介绍部分

sed命令使用方法

课程回顾

正则符号

基础正则符号

^  以什么开头的信息进行匹配
$  以什么结尾的信息进行匹配

^$ 表示匹配空行

. 匹配任意一个且只有一个字符

* 匹配前一个字符出现0次或者多次

.* 匹配所有任意信息 类似于通配符*

\ 转义字符 将有意义的字符信息,转义成为普通字符进行识别, -->找出文件中以.结尾的信息

将特殊的拓展的正则符号,转换成基础符号
将没有意义的字符信息,转换成有意义的字符信息

[] 匹配多个字符信息,多个字符匹配时,是或者的关系
[ok]在文件中找有o的字符信息,找文件中有k的字符信息
ps:中括号 ,讲一个字符串信息拆分成一个一个字符进行匹配

[^]对匹配的字符信息进行排除
[^ok]在文件中找有o的信息 找到有k的信息,进行排除不要显示,显示其他信息

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

扩展正则符号

在这写grep前面都需要加上e
grep命令识别扩展正则:egrep
sed命令识别拓展正则:sed -r

+ 匹配前一个字符连续出现1次或者多次
| 利用竖线可以匹配多个字符串的信息
() 将多个字符信息汇总成总体进行过滤
进行后项引入前项
{} 指定匹配前一个字符出现了多少次 
{n,m}至少连续n次,最多m次
{n}匹配只连续n次的信息
{n,}至少连续n次,最多不限
{,m}至少连续0次,最多m次

? 匹配前一个字符连续出现0次或者1次

sed命令

sed概述

字符流编辑工具==按照每行中的字符进行处理操作

sed命令作用说明

擅长对行进行操作

擅长文件的内容信息进行修改调整/删除

编写脚本:修改文件内容时

网络服务中的ip地址进行修改: 50台主机迁移机房–新机房
第一个步骤:找到网卡的配置文件 eth0
第二个步骤:重启网络服务
第三个步骤:检查测试

自动修改网卡地址脚本
第一个步骤:修改网络地址

sed -i 地址 ifcfg-eth

第二个步骤:重启网络服务

systemctl restart network

第三个步骤:将网卡信息存储到文件中 共享存储的位置

具体功能

向文件中添加信息的能力
向文件中删除信息的能力
向文件中修改信息的能力
向文件中查询信息的能力

sed命令语法信息

sed [OPTION]... {script-only-if-no-other-script} [input-file]...

命令 参数 条件/处理 处理文件信息
显示出文件有oldboy行的信息

在这里插入图片描述

sed命令执行原理

在这里插入图片描述

sed命令实践操作

sed命令查询信息方法

根据文件内容的行号查询
根据文件内容的信息查询

查看测试

根据内容信息,输出单行内容
将有oldboy的行信息找出来
在这里插入图片描述

根据内容信息,输出多行内容
将有oldboy到alex行的信息都输出出来

根据内容信息,输出多行内容(不连续)
将有oldboy和alex的行的信息都输出出来

在这里插入图片描述

根据文件内容的行好进行显示
显示单行信息
在这里插入图片描述

根据行号,显示多行信息

在这里插入图片描述

根据行号,显示多行信息(不连续)

在这里插入图片描述

添加测试

在文件的第一行添加信息:100,oldgirl,ufo
记住是第一行的上面用的是 i

在这里插入图片描述
在文件的最后一行添加信息 107
如果在下面要用到a
$表示结尾
在这里插入图片描述

删除测试

删除单行信息
在这里插入图片描述
删除多行信息
删除第二行到第第六行

在这里插入图片描述

删除有oldboy的行
在这里插入图片描述
删除第三行和第六行
在这里插入图片描述

修改信息

sed 's#原有内容#修改后内容#g' 文件信息

总结sed命令

p print 输出
I insert 插入
appedn 附加信息,在指定信息后面附加信息
d delete 删除
s subtitute 替换信息 s###g(g代表全局替换)
c 替换修改一整行的信息
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

测试

在第三行后面添加oldboy.txt
在第二行前面添加oldboy.txt信息
在有oldboy行的前面添加oldgirl信息 后面添加olddog信息

在这里插入图片描述

记住了,sed是命令 可以有参数 后面接着是条件 /oldboy 或者是第几行

文件中添加内容方法

01 vi/vim
02 cat >>xxx<eof
03 echo -e “xxx/nxxx”
04 sed ‘na/I 内容信息’ 文件

问题:如何利用sed命令取消空行显示

在这里插入图片描述

sed '/^$/d' person.txt

利用sed命令取出ip地址

第一个历程,取出ip地址的行

第二个历程,取出ip地址

踩坑

n和i参数不能同时使用,会将文件内容清空,在替换文件内容的时候,一定不能让n和i参数同时出现

批量修改文件名

在这里插入图片描述

ls mmz*.txt|sed  -r 's#(.*)txt#mv & \1jpg#g' |bash

在这里插入图片描述

重命名
rename  .txt  .jpg  oldboy*.txt
命令  文件名称需要修改的部门信息 修改成什么信息  将什么样的文件进行修改

再改变回来

在这里插入图片描述

在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值