news 2026/2/18 2:38:55

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

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
13、Sed脚本高级流控制与应用详解

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

1. 输入收集与异常处理

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

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

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

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

2. 高级流控制命令

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

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

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

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/2/8 18:50:16

17、Awk编程:参数传递、信息检索与控制结构详解

Awk编程:参数传递、信息检索与控制结构详解 1. 向脚本传递参数 在awk编程中,向脚本传递参数是一个容易让人困惑的细节。参数可以为变量赋值,这些变量可在awk脚本中使用。变量可以在命令行上设置,位置在脚本之后、文件名之前。基本语法如下: awk ’script’ var=value …

作者头像 李华
网站建设 2026/2/7 21:49:14

18、网络脚本实用工具与信息查询技巧

网络脚本实用工具与信息查询技巧 在网络应用日益广泛的今天,利用脚本工具可以高效地完成各种任务,如文件处理、信息查询等。下面将为大家介绍一系列实用的脚本及其使用方法。 脚本扩展与FTP文件上传 某些脚本可进行功能扩展,例如对于具有特定文件扩展名的下载文件,能自动…

作者头像 李华
网站建设 2026/2/14 23:26:13

教程10:定制自己的读取方式来加载行为树-–-behaviac

原文 本文档描述的是3.6及以后版本,对于3.5及以前的老版本请参考分类“3.5”。有的时候,由于自身项目的需要,例如对行为树文件进行加密、打包等处理,behaviac组件默认提供的文件加载机制不再满足需要,因此程序端需要定…

作者头像 李华
网站建设 2026/2/12 8:39:45

大模型通义千问3-VL-Plus - QVQ 视觉推理模型

目录 一、概论 二、代码实现 第一步:新增请求实体类 QvqReasoningRequest 第二步:新增 QVQ 推理服务接口 QvqReasoningService 第三步:新增 QVQ 推理服务实现类 QvqReasoningServiceImpl 第四步 VideoController 三、演示 五、视觉推理…

作者头像 李华
网站建设 2026/2/16 20:52:51

43、天气数据处理与预测系统详解

天气数据处理与预测系统详解 在天气数据处理与预测领域,涉及到多个关键的类和方法,它们协同工作,实现了从数据接收、存储到分析预测的一系列功能。下面将详细介绍这些类和方法的具体实现和作用。 1. MainFrame类 MainFrame类是整个系统的核心,它负责初始化用户界面、创建…

作者头像 李华
网站建设 2026/2/14 21:45:43

一键重置Windows更新组件:解决系统故障的终极方案

一键重置Windows更新组件:解决系统故障的终极方案 【免费下载链接】Script-Reset-Windows-Update-Tool This script reset the Windows Update Components. 项目地址: https://gitcode.com/gh_mirrors/sc/Script-Reset-Windows-Update-Tool 你是否遇到过Wind…

作者头像 李华