操作 txt 搜索三种模式(sed、awk、pcregrep)

2024-03-15

我有这个文本文件

AAAA
1234
title example
Lorem Ipsum
FF
AAAA
1234
title example
€330 - Roma
FF 

我只想从此文件中提取以下 txt:

START WITH AAAA
HAS Euro SYmbol
END WITH FF

在这种情况下我只想匹配那个

AAAA
1234
title example
€330 - Roma
FF 

我尝试了不同的解决方案 我用了

sed -e '/AAAAs/,/europ/,/FF/!d' testfile.txt

但它提取 AAAA 和 FF 之间的所有 txet

我该如何解决它?

感谢帮助

EDIT:

Euro line 和 FF 之间可能有一些文字。不知道有多少行..

AAAA
1234
title example
€330 - Roma
Some text with \n, comma symbol etc etc
FF

我想提取AA和FF之间的文本


使用 sed:

 sed -n '/^AAAA/{:a;N;/\nFF/!ba; /€/p}' file

怎么运行的:

  • /^AAAA/: 从以下行开始AAAA
  • :a: label a对于即将到来的循环
  • N:将下一行添加到模式空间
  • /\nFF/!: 如果换行符后面跟着FF没有找到,
  • :ba: 循环到a用于将下一行添加到模式空间的标签
  • /€/p:输出如果被发现

Edit:

正如 @potong 在评论中所建议的,使用 GNU sed 您还可以使用M在多行模式下匹配正则表达式的命令:

sed -n '/^AAAA/{:a;N;/^FF/M!ba; /€/p}' file
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

操作 txt 搜索三种模式(sed、awk、pcregrep) 的相关文章

  • Python中Decimal类型的澄清

    每个人都知道 或者至少 每个程序员都应该知道 http docs oracle com cd E19957 01 806 3568 ncg goldberg html 即使用float类型可能会导致精度错误 然而 在某些情况下 精确的解决方
  • django_openid_auth TypeError openid.yadis.manager.YadisServiceManager 对象不是 JSON 可序列化

    I used django openid auth在我的项目上 一段时间以来它运行得很好 但今天 我测试了该应用程序并遇到了这个异常 Environment Request Method GET Request URL http local
  • Python - 将宽字符字符串从二进制文件转换为 Python unicode 字符串

    这是漫长的一天 我有点困惑 我正在读取一个包含大量宽字符字符串的二进制文件 我想将它们转储为 Python unicode 字符串 为了解压非字符串数据 我使用 struct 模块 但我不知道如何对字符串执行相同的操作 例如 阅读 系列 一
  • 我怎样才能更多地了解Python的内部原理? [关闭]

    Closed 这个问题正在寻求书籍 工具 软件库等的推荐 不满足堆栈溢出指南 help closed questions 目前不接受答案 我使用Python编程已经有半年多了 我对Python内部更感兴趣 而不是使用Python开发应用程序
  • 如何迭代按值排序的 Python 字典?

    我有一本字典 比如 a 6 b 1 c 2 我想迭代一下by value 不是通过键 换句话说 b 1 c 2 a 6 最直接的方法是什么 sorted dictionary items key lambda x x 1 对于那些讨厌 la
  • Argparse nargs="+" 正在吃位置参数

    这是我的解析器配置的一小部分 parser add argument infile help The file to be imported type argparse FileType r default sys stdin parser
  • 切片 Dataframe 时出现 KeyError

    我的代码如下所示 d pd read csv Collector Output csv df pd DataFrame data d dfa df copy dfa dfa rename columns OBJECTID Object ID
  • python suds SOAP 请求中的名称空间前缀错误

    我使用 python suds 来实现客户端 并且在发送的 SOAP 标头中得到了错误的命名空间前缀 用于定义由element ref 在 wsdl 中 wsdl 正在引用数据类型 xsd 文件 请参见下文 问题出在函数上GetRecord
  • 如何通过在 Python 3.x 上按键来启动和中断循环

    我有这段代码 当按下 P 键时会中断循环 但除非我按下非 P 键 否则循环不会工作 def main openGame while True purchase imageGrab if a sum gt 1200 fleaButton ti
  • 从 python 发起 SSH 隧道时出现问题

    目标是在卫星服务器和集中式注册数据库之间建立 n 个 ssh 隧道 我已经在我的服务器之间设置了公钥身份验证 因此它们只需直接登录而无需密码提示 怎么办 我试过帕拉米科 它看起来不错 但仅仅建立一个基本的隧道就变得相当复杂 尽管代码示例将受
  • 使用鼻子获取设置中当前测试的名称

    我目前正在使用鼻子编写一些功能测试 我正在测试的库操作目录结构 为了获得可重现的结果 我存储了一个测试目录结构的模板 并在执行测试之前创建该模板的副本 我在测试中执行此操作 setup功能 这确保了我在测试开始时始终具有明确定义的状态 现在
  • 按元组分隔符拆分列表

    我有清单 print L I WW am XX newbie YY ZZ You WW are XX cool YY ZZ 我想用分隔符将列表拆分为子列表 ZZ print new L I WW am XX newbie YY ZZ You
  • Seaborn Pairplot 图例不显示颜色

    我一直在学习如何在Python中使用seaborn和pairplot 这里的一切似乎都工作正常 但由于某种原因 图例不会显示相关的颜色 我无法找到解决方案 因此如果有人有任何建议 请告诉我 x sns pairplot stats2 hue
  • 在 pytube3 中获取 youtube 视频的标题?

    我正在尝试构建一个应用程序来使用 python 下载 YouTube 视频pytube3 但我无法检索视频的标题 这是我的代码 from pytube import YouTube yt YouTube link print yt titl
  • 将 2D NumPy 数组按元素相乘并求和

    我想知道是否有一种更快的方法 专用 NumPy 函数来执行 2D NumPy 数组的元素乘法 然后对所有元素求和 我目前使用np sum np multiply A B 其中 A B 是相同维度的 NumPy 数组m x n 您可以使用np
  • 在 Pandas 中使用正则表达式的多种模式

    我是Python编程的初学者 我正在探索正则表达式 我正在尝试从 描述 列中提取一个单词 数据库名称 我无法给出多个正则表达式模式 请参阅下面的描述和代码 描述 Summary AD1 Low free DATA space in data
  • 折叠具有多个字段的行

    我有这个代码 awk seen 1 2 a 1 a 1 a 1 t 2 END for i in a print i a i inputfile 我想折叠具有两个以上字段的行 但始终基于第一个字段作为索引 输入文件 三列制表符分隔 prot
  • 创建嵌套字典单行

    您好 我有三个列表 我想使用一行创建一个三级嵌套字典 i e l1 a b l2 1 2 3 l3 d e 我想创建以下嵌套字典 nd a 1 d 0 e 0 2 d 0 e 0 3 d 0 e 0 b a 1 d 0 e 0 2 d 0
  • 无法在前端使用 JavaScript Fetch API 将文件上传到 FastAPI 后端

    我正在尝试弄清楚如何将图像发送到我的 API 并验证生成的token那是在header的请求 到目前为止 这就是我所处的位置 app post endreProfilbilde async def endreProfilbilde requ
  • 如何读取Python字节码?

    我很难理解 Python 的字节码及其dis module import dis def func x 1 dis dis func 上述代码在解释器中输入时会产生以下输出 0 LOAD CONST 1 1 3 STORE FAST 0 x

随机推荐

  • 新类型的一个覆盖如何显示?

    我想重写 Haskell 中的默认整数构造函数 以便它们生成字符串 主要是出于好奇 但暂时为 LaTeX 的 frac 不便提供一个很好的输入替代方案 我希望能够使用语言本身 而不是特殊的解析器 但我想这可能行不通 module Main
  • 如何使用 Python 和 MySQLdb 检索 mysql 数据库中的表名?

    我有一个 SQL 数据库 想知道您使用什么命令来获取该数据库中的表名列表 更完整一点 import MySQLdb connection MySQLdb connect host localhost user myself passwd m
  • 关于访问 Tuple2 内的字段时发生错误

    我正在尝试访问 Tuple2 中的字段 但编译器返回错误 该软件尝试在 kafka 主题中推送一个案例类 然后我想使用 Spark Streaming 恢复它 这样我就可以提供机器学习算法并将结果保存在 mongo 实例中 Solved 我
  • 简单的数值表达式求解器

    首先 抱歉我的英语不好 对于我的算法和数据结构类的最后一个项目 我需要用 C 创建一个简单的数值表达式求解器 它需要解决简单的表达式 例如3 12 4 6 我设法拆分表达式并将运算符与数字分开 但我无法继续下去 诀窍是将运算符放在二叉树上
  • ELMAH:Elmah 页面未设计样式,使其难以阅读

    Setup 我通过 NuGet 在 ASP NET MVC 4 站点上安装了 ELMAH 在开发机器上 应用程序安装在根目录下 一切正常 并且样式与 ELMAH 页面通常一样 它总是这样做 我的意思是在开发机器上工作 不是吗 但在服务器上
  • PDFView printWithInfo:autoRotate: 失败

    我正在尝试打印一个由一系列图像构建的 PDF 文档 如果重要的话 我会在 Mozilla 插件中完成所有这些工作 我创建 PDFDocument 并将其放入 PDFView 然后调用 printView printWithInfo NSPr
  • Map.keySet 和 Map.values 上的迭代顺序相同吗?

    对于这样的地图 Map
  • dotfuscator并行优化?

    我的公司使用 Dotfuscator 进行 NET 应用程序混淆 它工作得很好 但是我注意到在我们的构建过程中它是一个单线程操作 Dotfuscator exe 始终在我们 8 核构建机器的单个核心上运行 这让我内心有些哭泣 有什么魔法可以
  • Gunicorn 内存使用量和线程不断增长

    我正在 Kubernetes 环境中使用 Gunicorn 运行 Django 应用程序 几周以来 Pod 的内存使用量持续增长 查看进程列表后 我注意到有许多 Gunicorn 进程看似已死 但仍在使用内存 我启动 Gunicorn 的命
  • android - 以编程方式将 ID 设置为视图

    我正在添加Buttons以编程方式和数量Buttons取决于一些条件 添加规则相对布局 LayoutParams that Buttons彼此顶部对齐我需要设置它们IDs 2 3年前的所有答案都说设置 ID int 没问题 例如setId
  • 如何在 Django 中使用 Matplotlib?

    根据网上的一些例子 我编写了下面的测试代码 有用 但是如果我重新加载页面 饼图将使用相同的图像自行绘制 每次重新加载页面时 某些部分都会变得更暗 当我重新启动开发服务器时 它被重置 我该如何正确绘画Matplotlib http en wi
  • 用户通知:自定义振动模式

    是否可以为用户通知警报创建自定义振动模式 例如 我们可以选择为用户通知使用不同的音频 是否也可以有自定义振动模式 我的意思是使用 swift 在 iOS 上以编程方式执行此操作 用于在 iOS 中创建自定义振动 使用 AudioServic
  • ruby 编码::未定义转换错误

    大家好 我正在尝试运行我的第一个 ror 应用程序 并得到以下错误 C Sites myapp gt rails server Could not find gem tzinfo data gt 0 x86 mingw32 in the g
  • 用于修改 machine.config 文件的 API - 每个配置文件中“DbProviderFactories”部分只能出现一次

    我最近在客户端计算机上遇到以下错误 DbProviderFactories 部分在每个配置文件中只能出现一次 计算机配置似乎包含重复的 DbProviderFactories 元素
  • 在使用 IE9 的 Windows 7 上运行 watir-webdriver 时出现问题

    我正在尝试在 64 位 Windows 7 上将 watir webdriver 与 IE9 一起使用 当我尝试打开新浏览器时收到以下错误消息 有什么解决方案吗 C watir gt irb irb main 001 0 gt requir
  • 为什么 np.compress 比布尔索引更快?

    What is np compress内部做的事情使它比布尔索引更快 在这个例子中 compress速度提高了约 20 但节省的时间因数据大小而异a和数量True布尔数组中的值b 但是在我的机器上compress总是更快 import nu
  • 是否可以在 @BeforeClass 带注释的方法中运行 Android Espresso 单元测试?

    我在使用时遇到问题JUnit4 BeforeClass仪器化 Android 单元测试中的注释 我正在使用EspressoGUI 测试库 一旦我添加一个测试 BeforeClass注解 安卓工作室1 5 1根本不运行任何测试 而只是打印 空
  • 包含电话号码的海量数据集的哈希和加密技术

    问题描述 我正在处理一个高度敏感的数据集 其中包含人员的电话号码信息作为其中一列 我需要应用 对它们进行加密 哈希函数 将它们转换为一些编码值并进行分析 它可以是单向哈希 即 在使用加密数据进行处理后 我们不会将它们转换回原始电话号码 本质
  • MessageDialog - 需要等待用户输入

    我有一个 ViewModel 它以同步方法实例化一个事件 该事件向 UI 发出信号 表明我们需要用户回答 是 或 否 然后才能继续 我正在尝试显示一个MessageDialog并等待用户提供答案 是或否 我很难做到这一点 我目前得到一个Un
  • 操作 txt 搜索三种模式(sed、awk、pcregrep)

    我有这个文本文件 AAAA 1234 title example Lorem Ipsum FF AAAA 1234 title example 330 Roma FF 我只想从此文件中提取以下 txt START WITH AAAA HAS