如何在bash中仅提取两个字符串之间多行的第一个实例?

2024-05-10

我的文件是:

abc
123
xyz
abc
675
xyz

我想提取:

abc
123
xyz

(123 可以是任何东西,重点是我想要第一次出现)

我尝试使用这个:

sed -n '/abc/,/xyz/p' filename

但这给了我所有的例子。我怎样才能得到第一个?


您能否尝试按照所示示例进行编写和测试?

awk '/abc/{found=1} found; /xyz/ && found{exit}'  Input_file

或者按照埃德先生的评论,为了提高效率,请尝试以下操作。

awk '/abc/{found=1} found{print; if (/xyz/) exit}'  Input_file

解释:对上述内容添加详细解释。

awk '               ##Starting awk program from here.
/abc/{              ##checking condition if a line has abc in it then do following.
  found=1           ##Setting found here.
}
found;              ##Checking condition if found is SET then print that line.
/xyz/ && found{     ##Checking if xyz found in line and found is SET then do following.
  exit              ##exit program from here.
}
'  Input_file       ##Mentioning Input_file name here.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何在bash中仅提取两个字符串之间多行的第一个实例? 的相关文章

随机推荐

  • 从控制台应用程序隐藏控制台窗口[重复]

    这个问题在这里已经有答案了 我有一个使用控制台的应用程序 但我更改了所有代码以写入文件而不是控制台 我现在希望在运行应用程序时控制台停止出现 我该怎么做呢 我不知道是什么首先打开了控制台 即使代码中没有写入任何内容 我查看了应用程序引用 但
  • 同时调用多个支持 bean 方法

    有没有办法从 JSF 中的不同支持 bean 调用多个方法 我有一个存储用户信息的应用程序 我有多个支持 bean 它们分为时间表 地址 电话等 当应用程序最初加载时 一切正常 但由于我的所有视图都是类型 ViewScope即使显示新用户
  • Visual Studio退出调试,没有任何异常或错误

    我有一个TCP CLIENT游戏服务器项目在视觉工作室2010 当我在调试模式下启动项目时 需要一段时间 有时 1 天 有时 1 周 视觉工作室退出调试 没有任何异常或错误 我检查了窗口和应用程序日志 没有什么意外的 如何找出真正的问题是什
  • 生成的表的行跨度导致额外的单元格

    HTML table border 1 cellspacing 1 width 100 thead tr td class csstextheader width 70px td td class csstextheader width 7
  • jQuery 无法在外部 JavaScript 中工作

    我是 jQuery 新手 遇到了一些奇怪的问题 我正在使用 jQuery 的change and click方法 在我的 HTML 文件中使用时它们工作正常
  • Python 2.7 布尔运算符逻辑

    我目前正在学习Python 2 7 并且遇到了相等和布尔运算符 我的问题是 Why False and 1 is False but True and 1 is 1 同样地 False or 1 is 1 but True or 1 is
  • Xenomai 中的周期性线程实时失败

    我正在创建一个周期性线程 它在模拟输出上输出方波信号 我正在使用 Xenomai API 中的 Posix Skin 和 Analogy 我使用示波器测试了代码的实时性能 并查看了方波信号 频率为 1kHz 的延迟 我应该实现 250us
  • Visual Studio 2013删除已删除的git分支

    我遇到这个问题 在 VS2013 中 当我从源创建一个新分支时 源分支的下拉列表列出了曾经创建的所有分支 这包括长期从本地存储库和远程 源存储库中删除的分支 如何删除已删除的分支 Visual Studio 将它们保存在本地缓存中 您可以从
  • 提供软件设置的最佳方式?

    我正在使用 C NET 在我的软件中 我提供设置对话框 用户可以通过该对话框设置我想要保存到文件的应用程序设置 要求 典型 我定义的每个类都使用这些设置的某些部分 因此 这些对于所有类都应该是全局的 这些应该在软件启动时加载 当用户更改设置
  • 在 python 的 Visual Studio 工具中按下 ctrl+F5 后,控制台窗口立即关闭

    我已经安装了 Visual Studio 的 Python 工具 但在控制台窗口中看不到输出 就像我在 Visual Studio 中运行 C 控制台应用程序时按以下快捷键时看到的输出一样 F5 开始调试程序并关闭 C 和 Python 中
  • 如何从 haskell 中的 IOError 获取 errno?

    我在 haskell 平台上 GHC 6 12 1 作为 apt get 安装在 Debian Squeeze 上 鉴于我需要在与最初引发它的线程不同的线程上使用它 如何从 IOError 中获取底层 errno 我需要这个的原因是因为我正
  • 如何使用.net更改selenium中的用户代理

    我想使用不同的代理 iPhone iPad Android 测试用 NET 编写的 Web 应用程序 我使用 NUnit 和 Selenium 进行测试 有人有一个用 c 或 VB 在 Selenium 中更改代理 例如 iPad 或 iP
  • 如何使用 LeafLe 创建商店地图

    我希望创建一个可以交互的地图 我发现的最好的选择是传单 问题是我没有找到任何资源来解释如何创建自己的地图 我希望创建一个商场地图 用户可以在其中看到所有商店 喷泉 我怎样才能做到这一点 最好的起点是传单示例页面 http leafletjs
  • 如何从二叉搜索树中均匀随机地返回节点?

    给定一个 BST 可能平衡也可能不平衡 如何能够均匀地随机返回 任何 节点 一个限制是您不能使用外部索引数据结构 您必须以每个节点都有平等被访问的机会的方式遍历树 这个问题让我困惑了好一阵子 如果我们确实可以使用外部哈希表 指针 我们可以对
  • 禁用显示控制台窗口

    我可以在哪里禁用 Microsoft Visual C 显示控制台窗口 在您的控制台应用程序中 转到 Properties gt Linker gt System change SubSystem to Windows 并在你的代码中 代替
  • 如何在依赖注入之外构造对象?

    我有很多使用依赖注入来注入对象集合的服务 如下所示 IRepository
  • 子 git 存储库作为主存储库的子集

    我正在寻找一种方法来设置 git 存储库 其中包括来自较大存储库的文件子集 并从该主存储库继承历史记录 我的主要动机是能够通过 GitHub 共享代码子集 我目前通过单个 git 存储库管理我的研究相关 主要是 Matlab 代码 代码本身
  • 对象 std::cout 是如何构造/实例化的

    所以 std cout 是一个对象 我的疑问是它是如何 在哪里构建 实例化的 Thanks 它是由ios base Init 第一次创建该对象时 cout并创建了朋友 如果最后一个对象被破坏 cout朋友们脸红了 打电话 flush 在 C
  • 如何在 Javascript 中获取时区名称(PDT、EST 等)? [复制]

    这个问题在这里已经有答案了 使用 Javascript 有没有办法根据用户的设备获取用户的时区名称 PDT EST 等 我尝试过的代码 const timezone jstz determine const userTimezone tim
  • 如何在bash中仅提取两个字符串之间多行的第一个实例?

    我的文件是 abc 123 xyz abc 675 xyz 我想提取 abc 123 xyz 123 可以是任何东西 重点是我想要第一次出现 我尝试使用这个 sed n abc xyz p filename 但这给了我所有的例子 我怎样才能