首页 > 其他分享 >无涯教程-Sed - 模式范围

无涯教程-Sed - 模式范围

时间:2023-11-21 20:32:22浏览次数:26  
标签:Coelho 教程 Tolkien Alchemist 无涯 Two Paulo Sed Pilgrimage

本章介绍了SED如何处理Pattern Range(模式范围) Pattern Range可以是简单的文本或复杂的正则表达式。下面的示例打印作者Paulo的所有书籍。

[jerry]$sed -n '/Paulo/p' books.txt

执行上述代码后,您将得到以下输出:

3) The Alchemist, Paulo Coelho, 197 
5) The Pilgrimage, Paulo Coelho, 288

在上面的示例中,SED在每一行上操作,并且仅打印与字符串Paulo匹配的那些行。

无涯教程还可以将Pattern Range 与Address Range结合在一起。以下示例打印从"Alchemist"的第一个匹配开始到第五行。

[jerry]$sed -n '/Alchemist/, 5 p' books.txt

执行上述代码后,您将得到以下输出:

3) The Alchemist, Paulo Coelho, 197 
4) The Fellowship of the Ring, J. R. R. Tolkien, 432 
5) The Pilgrimage, Paulo Coelho, 288

找到第一个匹配项后,可以使用 Dollar($) 字符打印所有行。下面的示例查找 The 的第一个匹配项,并立即打印文件中的其余行

[jerry]$sed -n '/The/,$p' books.txt

执行上述代码后,您将得到以下输出:

2) The Two Towers, J. R. R. Tolkien, 352 
3) The Alchemist, Paulo Coelho, 197 
4) The Fellowship of the Ring, J. R. R. Tolkien, 432
5) The Pilgrimage, Paulo Coelho, 288 
6) A Game of Thrones, George R. R. Martin, 864 

还可以使用 逗号(,) 运算符指定多个Pattern Range(模式范围) 。下面的示例打印匹配 "Two" 和 "Pilgrimage" 之间存在的所有行。

[jerry]$sed -n '/Two/, /Pilgrimage/p' books.txt 

执行上述代码后,您将得到以下输出:

2) The Two Towers, J. R. R. Tolkien, 352 
3) The Alchemist, Paulo Coelho, 197 
4) The Fellowship of the Ring, J. R. R. Tolkien, 432 
5) The Pilgrimage, Paulo Coelho, 288

另外,无涯教程可以在模式范围内使用 plus(+) 运算符。下面的示例查找 "Two" 的第一个匹配项,并在其后打印接下来的4行。

[jerry]$sed -n '/Two/, +4 p' books.txt

执行上述代码后,您将得到以下输出:

2) The Two Towers, J. R. R. Tolkien, 352 
3) The Alchemist, Paulo Coelho, 197 
4) The Fellowship of the Ring, J. R. R. Tolkien, 432 
5) The Pilgrimage, Paulo Coelho, 288 
6) A Game of Thrones, George R. R. Martin, 864 

参考链接

https://www.learnfk.com/sed/sed-pattern-range.html

标签:Coelho,教程,Tolkien,Alchemist,无涯,Two,Paulo,Sed,Pilgrimage
From: https://blog.51cto.com/u_14033984/8506239

相关文章

  • 无涯教程-Sed - 分支操作
    可以使用 t命令创建分支。仅当上一个命令成功时,t命令才会跳转到标签。让无涯教程以与上一章相同的示例为例,但是现在不打印单个连字符(-),而是打印四个连字符。以下示例说明了t命令的用法。[jerry]$sed-n'h;n;H;xs/\n/,/:Loop/Paulo/s/^/-//----/!tLoopp'bo......
  • 无涯教程-Sed - 循环语句
    与其他编程语言一样,SED也提供了循环和分支函数来控制执行流程。在本章中,无涯教程将探索更多有关如何在SED中使用循环和分支的信息。SED中的循环的工作方式类似于goto语句。SED可以跳到标签所标签的行,然后继续执行其余命令。在SED中,可以如下定义label :label:start:end......
  • VC++ 2019 MFC TinyXML2使用教程/方法详解(转载)
    转载地址:VC++2019MFCTinyXML2使用教程/方法详解_vc++2019_一笑的博客-CSDN博客TinyXML2让VC++中操作XML,如鱼得水,就像一个小型的数据库,特别方便。本篇主要介绍在VC++2019的MFC项目中,如何利用TinyXML2,创建、插入、查询、更新、删除节点或数据。也顺便介绍下UNICODE转UTF......
  • 学习笔记:A Survey on Large Language Model basedAutonomous Agents
    挑选了自己感兴趣的部分整理了一下。目录ASurveyonLargeLanguageModelbasedAutonomousAgents1LLM-AAConstruction1.1ArchitectureDesign2LLM-AAApplication3LLM-AAEvaluation4ChallengeASurveyonLargeLanguageModelbasedAutonomousAgents北大高林学院的......
  • 2023最新!VMware17安装centos7保姆级教程
    2023最新!VMware17安装centos7保姆级教程安装的是cenos7,使用的是最新的VMware17导航目录2023最新!VMware17安装centos7保姆级教程导航一、虚拟机设置二、虚拟机初次启动配置一、虚拟机设置双击启动程序,在主窗口选择创建新虚拟机选择稍后安装操作系统,点击下一步选择Linux,版......
  • 无涯教程-Sed - 简介
    sed(意为流编辑器,源自英语“streameditor”的缩写)是一个使用简单紧凑的编程语言来解析和转换文本Unix实用程序。sed由贝尔实验室的LeeE.McMahon于1973年至1974年开发,并且现在大多数操作系统都可以使用。sed基于交互式编辑器ed(“editor”,1971)和早期qed(“quickeditor”,1......
  • 无涯教程-Ruby Profiler −函数
    在大多数情况下,您可以通过消除瓶颈来提高慢速程序的性能。探查器是找到瓶颈的工具。为了向您的Ruby程序添加配置文件,您需要首先使用命令行options-rprofile加载Profile库。使用语法$ruby-rprofile[programfile][arguments]Example这是从hello.rb文件生成的输......
  • qq附近人提取脚本插件,微信wxid附近人提取接口工具,易语言代码分享,POST方式学习教程
    其实打开Qq附近人后它会返回一个数据包我们只需要把这个数据包提取解析出来就可以提取对方的wxid或者是QQ号,通过这个WXID还能直接加好友,而且是免费的接口,我今天把基础源码和案例图发给大家,免费分享,没有HOOK也没有逆向,就抓包实现的,正常逻辑哈,并非是违规开发。框架图:  转换后......
  • 【略读论文|时序知识图谱补全】DREAM: Adaptive Reinforcement Learning based on Att
    会议:SIGIR,时间:2023,学校:苏州大学计算机科学与技术学院,澳大利亚昆士兰布里斯班大学信息技术与电气工程学院,Griffith大学金海岸信息通信技术学院摘要:原因:现在的时序知识图谱推理方法无法生成显式推理路径,缺乏可解释性。方法迁移:由于强化学习(RL)用于传统知识图谱上的多跳推理开......
  • 无涯教程-Interactive Ruby (irb) −函数
    交互式Ruby或irb是Ruby附带的交互式编程环境。它是由石冢启十先生撰写的。使用语法要调用它,请在shell或命令提示符下键入irb,然后开始输入Ruby语句和表达式。使用退出或退出退出irb。$irb[.rb][options][programfile][arguments]这是options的完整列表-Sr.No.Comma......