打印 ( ) 之间的文本 sed

2023-12-01

这是我之前的延伸question。在这个问题中,我需要检索括号之间的文本,其中所有文本都在一行上。现在我有这样一个案例:

(aop)
(abc
d)

这次,左括号可以在一行上,右括号可以在另一行上,因此:

(abc
d)

也算作分隔符 ' 之间的文本( )' 我需要将其打印为

abc
d

编辑: 针对我的问题可能存在的混乱,让我澄清一下。基本上,我需要在可能跨越多行的分隔符之间打印文本。

例如我的文件中有这样的文本:

randomtext(1234
567) randomtext
randomtext(abc)randomtext

现在我希望 Sed 挑选出分隔符“(”和“)”之间的文本。所以输出将是:

1234
567
abc

请注意,左括号和右括号不在同一行,但它们仍然算作 1234 567 的分隔符,因此我需要打印文本的该部分。 (注意,我只想要第一对分隔符之间的文本)。

任何帮助,将不胜感激。


啊!另一个棘手的 sed 难题:)

我相信这段代码可以解决您的问题:

sed -n '/(/,/)/{:a; $!N; /)/!{$!ba}; s/.*(\([^)]*\)).*/\1/p}' file

OUTPUT

对于它产生的提供的输入:

1234
567
abc

解释:

  • -n抑制常规 sed 输出
  • /(/,/)/用于范围选择( and )
  • :a用于标记标签a
  • $!N意味着将下一行输入追加到当前模式空间中
  • /)/!表示执行某些操作,如果)在当前模式空间中不匹配
  • /)/!${!ba}意味着转到标签a if )在当前模式空间中不匹配
  • s/.*(\([^)]*\)).*/\1/表示替换之间的内容( and )仅通过内容来去掉括号
  • \1用于组 1 的反向参考,即之间的文本\( and \)
  • p用于打印替换的内容
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

打印 ( ) 之间的文本 sed 的相关文章

  • 在 bash 脚本中提取 XML 值 [重复]

    这个问题在这里已经有答案了 我正在尝试从 xml 文档中提取一个值 该文档已作为变量读入我的脚本中 原始变量 data is
  • sed 没有给我正确的 Mac 换行符替换操作 - GNU sed 和 BSD / OSX sed 之间的差异 [重复]

    这个问题在这里已经有答案了 我正在使用这个参考 sed 帮助 匹配和替换文字 n 不是换行符 https stackoverflow com questions 19762365 sed help matching and replacin
  • 使用不同的背景颜色保存 MATLAB 图窗

    我想打印一个带有深色背景和白色标签的 MATLAB 图 如果我使用print or saveas命令我不知何故失去了颜色 绘图符号再次变暗 背景变为白色 points rand 100 3 plot3 points 1 points 2 p
  • 当用户按下打印时运行脚本,并且在脚本结束之前不开始假脱机(linux,cups)

    我需要做的是结合用户按下打印来执行 python 程序 脚本 并且在该程序退出之前不要让打印作业假脱机 原因是打印驱动程序不是开源的 我需要更改用户设置 在本例中是部门 ID 和密码 通常是每个用户 但因为这是一个信息亭 具有相同帐户的不同
  • 通过 bash 从文件中检索电子邮件主题

    我有一个 shell 脚本 它将文件从服务器邮件文件夹下载到 NAS 设备 以便客户端拥有本地备份的副本 文件保存为11469448248 H15587P19346 smtp x14 eu 2 S文件 我已将扩展名更改为标准 eml 格式
  • 忽略 sed 查找和替换命令中的斜杠

    我正在尝试在终端中使用 sed 进行查找和替换 在 apache 配置文件中 我尝试替换 DocumentRoot var www with DocumentRoot var www mysite com public html 从命令行
  • 打印附加结构(swift 4)

    我有三个 textifled 用于将数据附加到结构中 如何打印我附加的内容 现在我收到一条错误消息 import UIKit class ViewController UIViewController IBOutlet var c UITe
  • bash - 检查特定列中的单词,检查该行其他列中的值,将该行剪切并粘贴到新文本文件中

    我的文本文件包含约 20k 行 如下所示 file A ATOM 624 SC1 SER 288 54 730 23 870 56 950 1 00 0 00 ATOM 3199 NC3 POP 487 50 780 27 750 27 5
  • 如何使用 C# 打印 pdf

    我在 C 应用程序中使用 进程 打印 pdf 文件 但是我无法获取打印状态 我发现可以通过 System management 和 System printing 与打印机 队列进行交互 我做了很多尝试 但都出错了使用这两个命名空间但无法打
  • 在 sed 中插入换行符 (Mac OS X)

    如何在 sed 的替换部分插入换行符 此代码不起作用 sed s 1234 n 1 g input txt gt output txt 其中 input txt 是 test1234foo123bar1234 和output txt应该是
  • 在多个页面上打印流程文档滚动查看器

    我正在尝试打印我的 FlowDocument 它被包装到 FlowDocumentScrollViewer 中 因为我有很多文本 文本框 组合框 并且页面高度可能会变高 我正在使用这个 PrintDialog printDialog new
  • 如何从 Windows 批处理文件中的 ECHO 字符串中去除引号?

    我正在创建一个 Windows 批处理文件 但我必须 ECHO 一个大型复杂字符串 因此我必须在两端加上双引号 问题是引号也被回显到我正在写入的文件中 如何 ECHO 这样的字符串并去掉引号 UPDATE 我花了两天的时间研究这个问题 终于
  • 从文件中删除包含非英语 (Ascii) 字符的行

    我有一个文本文件 其中包含来自不同语言的字符 例如 中文 拉丁文等 我想删除包含这些非英语字符的所有行 我想包含所有英文字符 a b 数字 0 9 和所有标点符号 我如何使用 awk 或 sed 等 unix 工具来完成此操作 Perl 支
  • 如何使用 sed 交换两行?

    有谁知道如何更换line a with line b and line b with line a使用 sed 编辑器在文本文件中 我可以看到如何用保留空间中的一行替换模式空间中的一行 即 Paco x or Paco g 但是如果我想采取
  • sed:多行的条件合并

    我需要根据模式使用 sed 合并文件行 例如 输入文件 X1 A B C D E F G H I J 1 LK T PP E OO 2 X2 DDF F Y J W Q 预期输出 X1 A B C D E F G H I J 1 LK T
  • 可以用vue-chartjs打印图表吗?

    我正在使用 vue chartjs 在网络应用程序上渲染图表 我知道如果您使用原始版本 您可以打印图表library https canvasjs com docs charts methods chart print 但是我不知道如何使用
  • 使用 tac 和 sed 反转文件

    我有一个用例 我需要搜索并替换文件中最后一次出现的字符串并将更改写回文件 下面的案例是该用例的简化版本 我正在尝试反转该文件 进行一些更改 再次将其反转并写入该文件 我为此尝试了以下代码片段 tac test sed s a b sed i
  • 内部分页:避免不工作

    我的 Wordpress 网站有一个打印样式表 我希望图像打印在单个页面上而不是跨页面拆分 在某些情况下 甚至几行文本也会被分割到不同的页面上 我已经包括了img page break avoid 在我的打印样式表中 但没有运气 我找到了一
  • 将以反斜杠结尾的行与下一行 awk 连接起来(来自著名的 awk 单行解释)

    这个练习来自于Peteris Krumins 的博客文章解释了 AWK 的俏皮话 http www catonmat net blog awk one liners explained part two 本质上是这条线 awk sub ge
  • 使用 sed 删除大括号对之间的所有内容

    我有一个看起来像这样的字符串 B F blue master F red f k b f k b K black B F green 我想删除匹配的子字符串 它可能包含也可能不包含相同顺序的其他子字符串 我应该得到 master 作为最终输

随机推荐

  • 如何实时回显输出(在脚本完成之前)?

    在脚本执行完毕之前如何输出到浏览器 例如 下面的代码将一次输出所有 100 个 hi 我该如何制作 以便在读取 处理该代码部分后立即输出 例如 PHPBB3论坛显示了逐步安装过程 在循环之前调用 ob implicit flush 请注意
  • 进入振奋精神; Qi还是X3?

    我正在和一个朋友一起为一个小型个人项目做一名口译员 我们开始实现所有类和通用结构 其中代码将被翻译然后执行 只是为了推迟将实际解析代码放入这些结构中 现在我们必须构建解析器 经过一番搜索 我发现到处都有帖子和人们谈论spirit Qi和sp
  • whereArrayContains 限制为 10

    我要过滤问题集合基于tagIDs 一切工作正常但是其中数组包含最多适用于 10 个 id 我怎样才能提高我的结构工作超过10年tagIDs并且确保尽可能少地调用服务器减少金钱支出 Firestore root questions colle
  • 如何使用 Robot 在 IE11 中打开保存对话框弹出窗口

    我正在 IE11 上执行测试 无法使用任何其他浏览器 在执行时 我会弹出下载窗口 并希望将文件下载到 TestResult 文件夹中 我如何使用 Robot 来实现这一目标 我也读过有关 AutoIT 的内容 但不确定 因为我对这些还很陌生
  • AS3 - Flash/AIR 套接字通信 writeUTFBytes 仅有效一次

    我有一个套接字服务器侦听 2 个端口 其中 1 个端口用于套接字服务器 1 个端口用于策略服务器 我的代码如下 在这种情况下 数据发送和接收完全正常 但是 例如 如果我添加一个带有简单按钮的按钮 socket writeUTFBytes M
  • Exoplayer - 保存和恢复片段内旋转的状态

    我有一个托管 SimpleExoplayer 的片段 我想确保我正确处理屏幕旋转 现在 播放器重置到屏幕旋转的起点 我已经在 onStart 和 onResume 中实现了方法 所以我很好奇我需要哪些额外的代码 Override publi
  • 更改 Asp.Net 5 中的组件视图位置

    在 ASP NET 5 上 组件视图必须位于以下两个位置之一 Views NameOfControllerUsingComponent Components ComponentName Default cshtml Views Shared
  • 在 SQL 中计算连续缺勤

    我需要计算 SQL 中在某个日期范围内连续缺勤 X 次的所有员工 我们有一个缺勤表 其中包含员工每天缺勤的 1 条记录 还有一个日历表 其中包含一年中的工作日 tblAbsences EmployeeID int AbsenceDate d
  • excel VBA 不应该发生溢出错误

    Sub TestFunction Dim var As Double var 25 24 23 22 21 20 End Sub 我收到此 vba 操作的溢出错误 当我在具有函数的单元格中运行它时 我得到 127 512 000 这可能是什
  • 如何使用python(maya)多线程

    我一直在看其他人的例子 但我似乎无法让它正常工作 它要么使用单个核心 要么如果处理太多 基本上会冻结 Maya 但我似乎从来没有让多个核心同时工作 例如 这就是我希望它在非常基本的层面上做的事情 主要只是让每个循环在具有不同值的不同处理器上
  • OpenGL 上的多线程渲染

    我有一个多线程应用程序 我试图在其中使用不同的线程进行渲染 首先 我尝试在所有线程之间使用相同的渲染上下文 但我为其他线程获取了 NULL 当前上下文 我在互联网上读到 一个上下文一次只能在一个线程中存在 所以我决定做一些不同的事情 我创建
  • searchlogic 可以与 Rails 3 一起使用吗?

    如果不是 我的替代方案是什么 元空间 http metautonomo us projects metawhere 看起来是一个有前途的替代方案 ps 通过 ruby flow com 发现metawhere 元搜索 http metaut
  • DBI begin_work 不适用于存储过程调用

    我正在尝试以简化形式从事务中调用存储过程 my dbh DBI gt connect my sth dbh gt prepare call sp get workitems 1 1 dbh gt begin work or die dbh
  • Ruby on Rails 变形错误 - 未初始化常量

    我正在使用 Ruby on Rails 为我玩的游戏创建一个网站 我有一个User模型和一个Starbase模型 我试图建立的关系就像这样 class User lt ActiveRecord Base has many starbases
  • Django 2.2 破坏了以前工作的视图/url

    决定使用 Django 2 2 进行测试 项目当前运行的是 2 1 8 现在我什至无法启动服务器 我维护这个项目已经近两年了 这应该是一个小的更新 该错误似乎与我的观点有关 但我在中找不到任何内容发行说明这在 2 1 8 和 2 2 之间发
  • 从 x64 进程将 x86 代码注入到 x86 进程

    我意识到标题有点复杂 所以让我解释一下我想要做什么 我刚刚完成了一个简单的 DLL 注入器的编写 用于验证我正在尝试编写的概念 该程序拍摄当前进程的快照 枚举进程树 并将 DLL 注入其直接父进程 现在 在理想条件下 效果很好 32 位版本
  • 背景图像,线性渐变锯齿状边缘结果需要平滑边缘

    我正在尝试使图像的底部变尖 我试图通过在底部生成两个三角形来获得这种效果 他们必须反应灵敏 在互联网上搜索了很多不适合我的要求的例子之后 这是迄今为止我设法制作的最好的例子 body html height 100 image width
  • C# 中的“常量正确性”

    const 正确性的要点是能够提供用户无法更改或删除的实例的视图 编译器通过指出何时从 const 函数中破坏常量性或尝试使用 const 对象的非 const 函数来支持这一点 那么 在不复制 const 方法的情况下 我是否可以在 C
  • 什么是回调?

    什么是回调以及它在 C 中是如何实现的 我刚刚认识你 这很疯狂 但这是我的电话号码 代表 所以如果发生什么事情 事件 也许给我打电话 回电
  • 打印 ( ) 之间的文本 sed

    这是我之前的延伸question 在这个问题中 我需要检索括号之间的文本 其中所有文本都在一行上 现在我有这样一个案例 aop abc d 这次 左括号可以在一行上 右括号可以在另一行上 因此 abc d 也算作分隔符 之间的文本 我需要将