shell脚本--sed

振鹭2年前技术文章1075

sed后面接的动作,务必以 '........'两个单引号包住

1.擅长对文件进行操作处理

2.对文件信息进行内容的信息修改

-i 参数代表直接修改原文件


  • a :往后新增一行, a 的后面可以接字串,而这些字串会在新的一行出现(目前的下一行)

在文件的第四行后添加一行
sed '4a newLine' filename
如果要新增多行,例如在第四行后面增加两行字
sed '4a newline1\
newline2' filename


  • i :往前插入一行, i 的后面可以接字串,而这些字串会在新的一行出现(目前的上一行);

在文件的第二行前添加一行
sed '2i new line' filename


  • c :取代, c 的后面可以接字串,这些字串可以取代 n1,n2 之间的行

将2到5行替换为一行No 2-5 number
sed '2,5c No 2-5 number' filename


  • d :删除,因为是删除,所以 d 后面通常不接任何东西;

删除2到5行
sed '2,5d' filename
只删除第二行
sed '2d' filename
删除第三行到最后一行
sed '3,$d' filename
  • p :打印,亦即将某个选择的数据印出。通常 p 会与参数 sed -n 一起运行~

数据的搜寻并显示:
输出打印含有abc的行
sed -n '/abc/p' filename
数据的搜寻并删除:
删除所有包含oo的行
sed  '/oo/d' filename
数据的搜寻并执行命令:
搜索 testfile,找到 oo 对应的行,执行后面花括号中的一组命令,每个命令之间用分号分隔,这里把 oo 替换为 kk,再输出这行:
sed '/oo/{s/oo/kk;p;q}' filename


  • s :取代,可以直接进行取代,通常这个 s 的动作可以搭配正则表达式,例如 's/old/new/g' 

数据的查找与替换
将 testfile 文件中每行第一次出现的 oo 用字符串 kk 替换,然后将该文件内容输出到标准输出
sed -e 's/oo/kk/' testfile
g 标识符表示全局查找替换,使 sed 对文件中所有符合的字符串都被替换,修改后内容会到标准输出,不会修改原文件:
sed -e 's/oo/kk/g' testfile
选项 i 使 sed 修改文件:
sed -i 's/oo/kk/g' testfile


返回列表

上一篇:PromQL语法

下一篇:Hudi集成Spark

相关文章

MS SQL Server partition by 函数实战二 编排考场人员

需求假设有若干已分配准考证号的考生,准考证号示例(01010001)共计8位,前4位为分类号,后4位为分类下的总排序号。现提供考场分配信息EXCEL文件(包括考场编号 、考场名称、考场容纳人数等),希...

oracle回收站简介

一、回收站简介1、概念和功能回收站从ORACLE 10g开始引入,全称叫Tablespace Recycle Bin。回收站实际是一个逻辑区域,使用的已经分配的表空间,表被drop时,数据不会实际删除...

hbase-auto balancer失效

hbase-auto balancer失效

背景集群中,发现hbase 的compaction 队列一直增长,出现hang住的情况,排查发现,一些表的region集中在某些机器上,分布不均匀。但是排查发现auto balancer是默认开启的。...

Apache Ranger不使用root密码进行初始化

1、背景由于使用的数据库由dba进行管理,我们无法获取到对应的ranger数据库的root密码。需要使用数据库普通用户对表进行初始化2、解决ranger admin每次修改配置(install.pro...

k8s Krew 插件使用指南

kubectl Krew 插件使用指南前言:在某些情况下,只是使用 kubectl 命令的时候存在效率比较低、功能不满足的问题,针对这些问题,社区提出了krew插件项目。还有一点是:大部分工程师还是喜...

CDP实操--集群配置Kerberos

CDP实操--集群配置Kerberos

1.1检查IPA设置以及配置Kerberos前提条件登录IPA Server在services页面里都是ipa自带的服务,集群配置完kereros后,这里会增加集群里各项hadoop服务。在host页...

发表评论    

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。