当前位置: 首页 > news >正文

文本处理之sed

1、概述

sed是文本编辑器,作用是对文本的内容进行增删改查。

和vim不一样,sed是按行进行处理。

sed一次处理一行内容,处理完一行之后紧接着处理下一行,一直到文件的末尾

模式空间:临时储存,修改的结果临时保存的地方,不写入磁盘,文件的内容不会发生变化,展示完即删除。

写入:把修改写入到磁盘当中。

2、sed的选项  

选项说明
-e指定命令处理的文本文件,多个执行操作需要加上-e
-f高级脚本模式
-i修改目标文件,使之生效
-n显示script处理之后的结果

3、sed的操作符  

操作符说明
s替换,替换指定的字符串
d删除选定的行
a新增,在指定行的下面插入一条新的内容
i新增,在指定行的上面插入一条新的内容
c整行替换为指定的内容
y字符替换(转换前后的字符长度必须保持一致)
p打印
r支持扩展正则表达式(读取和输出)

所有的操作符最好用单引号引起来的,用双引号可能会有歧义

练习

  • sed的打印功能

 

  • sed的删除功能 

  • sed对文件内容进行替换

s只能对字符串,s/旧字符/新字符/操作符

g 把所有匹配标准的字符串全部替换,只在替换中生效

c 整行替换  /旧字符/c 新字符

y只能单个字符,且字符串长度要一致  y/旧字符/新字符/

  •  sed的插入和新增

a 新增 下一行

i 新增 上一行

r 读取然后写入

$a  把内容直接插入到文件的最后一行

$i   把内容直接插入到文件的最后一行和倒数第二行之间

$r  直接读取文件的内容,然后输出到目标文件的行尾

  • 脚本模式 

#f脚本模式,在第一个文件当中写好了替换的命令或者其他的sed操作,用第一个的脚本修改第二个文件

sed  -f  文件1  文件2 

  • 不删除文件,只清空文件的内容

sed  -i  'd'  文件名

cat    /dev/null   >   文件名

  • sed当中的字符串和字符位置的交换

  • 取出版本号

  • 查看指定时间内的所有日志

 sed  -n '/Nov 27 12:32:41/,/Nov 27 13:30:01/p'  /var/log/syslog #按时间查找

http://www.lryc.cn/news/492579.html

相关文章:

  • uniapp在App端定义全局弹窗,当打开关闭弹窗会触发onShow、onHide生命周期怎么解决?
  • 计算机网络 实验七 NAT配置实验
  • 数据结构——排序算法第二幕(交换排序:冒泡排序、快速排序(三种版本) 归并排序:归并排序(分治))超详细!!!!
  • 【kafka04】消息队列与微服务之Kafka 图形工具
  • 剖析前后端 API 接口参数设计:JSON 数据结构化全攻略
  • vue3 多种方式接受props,定义ref,reactive
  • 逻辑处理器核心指纹修改
  • 如何制作项目网页
  • mongodb/redis/neo4j 如何自己打造一个 web 数据库可视化客户端?
  • 1、正则表达式
  • Airsim安装问题:This project was made with a different version of the Unreal Engine.
  • java八股-分布式服务的接口幂等性如何设计?
  • vscode python code runner执行乱码
  • Java中的继承详解
  • kafka进阶_2.存储消息
  • 如何启用本机GPU硬件加速猿大师播放器网页同时播放多路RTSP H.265 1080P高清摄像头RTSP视频流?
  • 如何更好地设计SaaS系统架构
  • 表征对齐在训练DiT模型中的重要性
  • Qt中CMakeLists.txt解释大全
  • 【在 PyTorch 中使用 tqdm 显示训练进度条,并解决常见错误TypeError: ‘module‘ object is not callable】
  • 数据结构-堆的实现和应用
  • 数据分析的尽头是web APP?
  • YOLO系列论文综述(从YOLOv1到YOLOv11)【第3篇:YOLOv1——YOLO的开山之作】
  • 容器和它的隔离机制
  • 【数据结构与算法】排序算法总结:冒泡 / 快排 / 直接插入 / 希尔 / 简单选择 / 堆排序 / 归并排序
  • Windows Serv 2019 虚拟机 安装Oracle19c,图文详情(超详细)
  • 数字孪生开发之 Three.js 插件资源库(2)
  • 小米C++ 面试题及参考答案下(120道面试题覆盖各种类型八股文)
  • OpenOCD之J-Link下载
  • 华为云云连接+squid进行正向代理上网冲浪