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

13、Sed脚本高级流控制与应用详解

Sed脚本高级流控制与应用详解

1. 输入收集与异常处理

在一些脚本中,我们需要收集输入并在匹配到特定模式后再进行处理,同时要关注脚本中的流控制。例如,有一个脚本,其第一个过程不会直接输出内容,而第二个过程会在开始收集下一段内容前清空模式空间和保持空间。

另外,脚本还能通过地址设置来处理输入中的各种异常,从而提高脚本的可靠性。比如,如果输入文件的最后一行不是空行,之前收集自最后一个空行以来的所有行都不会被输出。为了解决这个问题,可以制造一个空行,让后续的空行处理程序能够匹配到。具体的处理程序如下:

${ /^$/!{ H s/.*// } }

这个程序需要放在之前展示的两个程序之前。其中,地址符号“$”只匹配文件的最后一行。在这个程序内部,会检查非空行。如果是空白行,则无需处理;如果当前行非空,则将其追加到保持空间,然后使用替换命令在模式空间中创建一个空行。退出该程序后,模式空间中会有一个空行,它会匹配后续添加HTML段落代码并输出段落的空行处理程序。

2. 高级流控制命令

2.1 分支(b)和测试(t)命令概述

在sed脚本中,分支(b)和测试(t)命令可用于控制脚本的执行流程,将控制权转移到包含指定标签的行。如果未指定标签,控制权会转移到脚本的末尾。分支命令是无条件转移,而测试命令是条件转移,只有在替换命令更改了当前行时才会发生。

标签是最多由七个字符组成的序列(POSIX标准允许实现支持更长的标签,GNU sed允许标签为任意长度),标签以冒号开头单独放在一行,冒号和标签之间不允许有

http://www.cnnetsun.cn/news/56712.html

相关文章:

  • 15、Awk编程:表达式、系统变量及应用示例
  • 32、拼写检查与索引生成工具详解
  • 10、实用脚本工具:温度转换、贷款计算与日程管理
  • 20、网站管理黑客技巧:CGI脚本的应用与安全
  • Holo1.5开源发布:重塑计算机交互智能,引领多模态代理技术新纪元
  • 30、图像魔法棒:ImageMagick实用脚本指南
  • 百度网盘极速下载:3步告别龟速等待的实用指南
  • 28、网络数据分类与回归分析技术详解
  • Unity反向遮罩技术深度解析与应用实践
  • 多模态大模型新突破:Janus-Pro-7B重构跨模态理解与生成范式
  • 13、系统管理:用户管理脚本实用指南
  • PyQt-Fluent-Widgets 现代桌面应用开发终极指南
  • Duplicity:高效《缺氧》存档编辑器助力玩家打造个性化殖民地
  • AutoGPT文化展览策展助手
  • RSSHub-Radar终极指南:智能信息管理的完整解决方案
  • 蚂蚁开源Ring-1T引爆AI推理革命:万亿参数模型重构开源技术边界
  • 一、基于freertos系统上关于ATGM336H定位模块的定位测试验证
  • Flutter包体积优化终极指南:让你的直播App轻装上阵
  • Qwen3-0.6B震撼发布:轻量级大模型迎来推理与多语言能力的双重突破
  • Pig企业级权限管理系统:从零搭建微服务架构的实战指南
  • Obsidian Git高效配置:构建智能笔记备份系统
  • 心电图AI分类终极指南:3个简单步骤让新手快速上手
  • Unity反向遮罩技术深度解析:从原理到实战应用
  • 多模态生成革命:Lumina-DiMOO全能模型重塑跨模态交互新范式
  • MarkText主题定制完全攻略:打造专属写作空间的5个关键步骤
  • 21、网络命名服务:NIS、NIS+、DNS 与 LDAP 详解
  • 22、OpenLDAP与负载均衡技术解析
  • TaskFlow:重新定义Java任务流程管理的轻量级编排框架
  • AppleRa1n终极教程:iOS设备激活锁完全绕过方案
  • 零基础入门Whisper.cpp:5分钟搭建离线语音识别系统