shell脚本--sed

振鹭11个月前技术文章322

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

相关文章

CDH-集群节点下线

CDH-集群节点下线

1、前期准备确认下线节点确认节点组件信息确认下线节点数据存储大小确定剩余节点存储大小如果下线节点数据存储大小大于剩余节点存储大小,则不能进行下线,可能存在数据丢失的情况2、操作首先确认待下线节点中是否...

MongoDB的碎片化问题

一、碎片化问题1.1 为什么会出现碎片化的问题在生产业务中,一般会对集合数据进行频繁的增删改,常见的碎片化原因有:1、记录被remove,但是其空间没有被复用drop命令会直接删除集合的物理文件,空间...

Hive压测之开源Hive基准测试工具(hive-testbench-hive14)

Hive压测之开源Hive基准测试工具(hive-testbench-hive14)

此文章禁止转载概述Hive基准测试工具工具,可用来造数测试Hive基本性能。TPC-DS:提供一个公平和诚实的业务和数据模型,99个案例TPC-H:面向商品零售业的决策支持系统测试基准,定义了8张表,...

MySQL运维实战之备份和恢复(8.9)xtrabackup备份指定表

备份部分表如果实例设置了参数innodb_file_per_table,xtrabackup可以备份部分表。通过--tables,--tables-file,--databases,--databas...

HDP-Yarn开启CPU调度和隔离

HDP-Yarn开启CPU调度和隔离

进入到ambari主界面 点击yarn 点击config CPU Scheduling and Isolation 设置为enable修改高级配置点击ADVANCED搜索需要修改的配yarn.node...

hbase迁移目录说明

路径(1.0.0)路径(0.94)是否迁移说明/hbase/WALs/hbase/.logs否被HLog实例管理的WAL文件。 ### /hbase/WALs/data-hbase.com,60020...

发表评论    

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